有没有比这更好的解决方案来打印结果了

时间:2019-06-11 11:00:48

标签: php

<?php
$arr = 
[
'name' => 'hussin' ,
"age"  => 25,
'job' => 
[
'php', 'ajax'
]
];
foreach ($arr as $key => $value) 
{
if(!is_array($arr[$key]))
echo $key .' '. $value."<br>";
else
foreach ($arr['job'] as $key => $value) 
echo $key .' '. $value."<br>";
}
?>

结果 名字侯赛因 27岁 0 PHP 1个ajax

是否有比此更好的解决方案来打印结果?
我有一个包含常规数据的关联数组,包括数组类型,这是访问所有数据的最佳解决方案

1 个答案:

答案 0 :(得分:0)

我可能会误会,但我认为您正在寻找递归算法:

function printAll(array $arr){
    foreach($arr as $k => $v){
        if(is_array($v)){
            return printAll($v);
        }
        print $k . ":" . $v . "\r\n";
    }
}

printAll(['name' => 'hussin' ,"age"  => 25,'job' => ['php', 'ajax']]); // name:hussin age:25 0:php 1:ajax

现在,这当然可以改进,以处理其他可迭代对象和嵌套的数组键,但希望您能掌握这个技巧。