2013-11-28 39 views
0

我需要哪些值可以存储变量一样哈希表的工作:如何声明,插入和迭代一个关联数组作为值的php关联数组?

  • $numberOfItems
  • $ItemsNames

如果我是没有错的,这将意味着像数组作为价值的另一个哈希。

什么应该是正确的插入和迭代它的语法?

是类似的东西:

$hash['anyKey']=>$numberOfItems=15; 
$hash['anyKey']=>$ItemsNames=['f','fw']; 

有效吗?

+0

为什么你会储存元素的个数分别,当你可能只是轻松搞定用count()'正确的数字?请做一个更详尽的例子,说明你正在努力完成什么。 – mario

回答

1

如果没有机会在项目名称勾结,您可以使用名称键

$hash[$ItemsName] = $numberOfItems; 

在另一种情况下,例如使用一个整数作为关键字,然后将不同的“属性”作为第二个数组的键

$hash[$integer]["count"] = $numberOfItems; 
$hash[$integer]["name"] = $name;$ 

然后,迭代(第一种情况):

foreach ($hash as $name => $number) { 
     echo $number; 
     echo $name; 
    } 

,或者第二种情况

foreach ($hash as $item) { 
     echo $item["name"]; 
     echo $item["count"]; 
    } 
1

要创建PHP数组,它可以是一个哈希表,你可以这样做:

$arr['element'] = $item; 
$arr['element'][] = $item; 
$arr['element'][]['element'] = $item; 

其他方式:

$arr = array('element' => array('element' => array(1))); 

遍历它使用foreach循环:

foreach ($items as $item) { 
} 

也可以创建嵌套循环。

关于你的情况:

$hash['anyKey']=>$numberOfItems=15; 
$hash['anyKey']=>$ItemsNames=['f','fw']; 

我会做:

$hash['anyKey']['numberOfItems'] = 15; 
$hash['anyKey']['ItemsNames'] = array('f','fw'); 
+0

如果我需要将任何内容推送到'$ hash ['anyKey'] ['ItemsNames']'? – diegoaguilar

+0

'$ hash ['anyKey'] ['ItemsNames'] [] ='一些新值';''[]'将创建新的数字增量键。 –

+0

不,我的意思是,如果你声明'$ hash ['anyKey'] ['ItemsNames'] = array('f','fw');'我怎样才能使这样的数组成为'('f',' fw','zz')'' – diegoaguilar