如何进入PHP嵌套数组?
我有一个嵌套数组,它的打印如下-如何进入PHP嵌套数组?,php,arrays,nested,Php,Arrays,Nested,我有一个嵌套数组,它的打印如下- Array ( [keyId] => Array ( [hostname] => 192.168.1.127 [results] => Array ( [1] => false [2] => false [3]
Array
(
[keyId] => Array
(
[hostname] => 192.168.1.127
[results] => Array
(
[1] => false
[2] => false
[3] => false
)
[sessionIDs] => Array
(
[0] => ed9f79e4-2640-4089-ba0e-79bec15cb25b
)
)
我想处理打印结果数组的键和值。我该怎么做
我尝试使用array_keys函数首先获取所有键,如果键名是results,则处理数组。但问题是数组_键没有进入结果在数组中导航的一种方法是这样的
foreach($array['keyId']['results'] as $k => $v) {
// use $k and $v
}
//Assuming, your main array is $array
foreach($array as $value) { //iterate over each item
if(isset($value['results']) && count($value['results'])) {
// ^ check if results is present
//Now that we know results exists, lets use foreach loop again to get the values
foreach($value['result'] as $k => $v) {
//The boolean values are now accessible with $v
}
}
}
php的循环就是您所需要的
foreach($arr['keyId']['results'] as $key => $value) {
//$key contains key and $value contains values.
}
您需要的数组是$array['keyID']['results']。从这里,您可以使用$array['keyID']['results'][1]、$array['keyID']['results'][2]、$array['keyID']['results'][3]访问值
要循环通过它,只需执行以下操作:
foreach($array['keyId']['results'] as $key => $value) {
echo $key . ' ' . $value;
}
或
今天这么说有什么不对?对我投了反对票。没有评论。@Jon,我的意思是这么说,恐怕有人恨我。这太荒谬了。你应该更担心你的答案需要改进:例如,这个答案根本不实用,也没有任何解释。对我来说,这似乎是一个坏主意,OP可能很难适应除此之外的其他代码。@Jon,我的答案比你的答案有更多的解释……这一点,加上我们讨论的是超初级PHP语法,这就是为什么我创建了我的社区wiki。如果我不需要空间来格式化代码的话,它会变成一个注释。在任何情况下,研究如何改进你的答案可能对你更好。
for ($i = 1; $i <= 3; i++)
{
echo $i . ' ' . $array['keyID']['results'][i];
}