Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何进入PHP嵌套数组?_Php_Arrays_Nested - Fatal编程技术网

如何进入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];
}