如何使用关联数组声明,插入和迭代php关联数组作为值?

时间:2013-11-28 07:47:42

标签: php arrays hashmap

我需要使用散列表,其值可以存储变量,如:

  • $numberOfItems
  • $ItemsNames

如果我没有错,那就意味着像数组一样的另一个散列作为值。

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

类似于:

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

有效?

2 个答案:

答案 0 :(得分: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');

答案 1 :(得分: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"];
    }