如何用关联数组作为值来声明、插入和迭代php关联数组


How to declare, insert and iterate a php associative array with an associative array as value?

我需要使用一个哈希表,该哈希表的值可以存储变量,如:

  • $numberOfItems
  • $ItemsNames

如果我没有错的话,这将意味着另一个类似散列的数组作为值。

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

类似于:

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

有效?

如果物品名称中没有共谋的机会,您可以在密钥中使用该名称

$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"];
    }

要创建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');