我尝试读取数组的一些键,例如
array(3) {
["poste5:"]=> array(3) { [0]=> string(7) "APPLE:" [1]=> string(5) "demo1" [2]=> string(5) "demo2" }
["services:"]=> array(4) { [0]=> string(9) "orange" [1]=> string(5) "demo3" [2]=> string(5) "demo4" [3]=> string(5) "demo1" }
["essai:"]=> array(2) { [0]=> string(6) "sd" } }
我试着读这个名字:poste5 , services , essai
如果我使用:
foreach ($this->aliasRead as $key => $value){
echo array_keys($this->aliasRead[$key]);
}
我有:Array()
但是如果我使用:
foreach (array_keys($this->aliasRead) as $key => $value2) {
echo $value2;
}
我有 poste5 , services , essai
我尝试在这个循环中使用 foreach ($this->aliasRead as $key => $value){ 因为我有另一个特质。 如何在这个循环中收集我的第一个循环的这个键 foreach ($this->aliasRead as $key => $value){ ?
最佳答案
这里已经有了你想要的:
foreach ($this->aliasRead as $key => $value){
echo $key; // key of the value in the array
print_r($value); // value of $this->aliasRead[$key] which in turn is another array
}
编辑:第二个循环起作用的原因是:array_keys($this->aliasRead[$key])
返回一个新数组,其中包含旧数组的键作为其值。所以 $myNewArray = array_keys($this->aliasRead[$key])
与 $myNewArray = array('poste5','services','essai')
相同>。因此,当您像这样遍历这个新数组时:
foreach ($myNewArray as $key => $value2) {
echo $value2;
}
$value2
包含您的值,它们是您的第一个数组的键,并且 $key
在循环的每一步之后将是 0、1 和 2。
关于php - 读取二维数组的key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17023446/