<?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
是否有比此更好的解决方案来打印结果?
我有一个包含常规数据的关联数组,包括数组类型,这是访问所有数据的最佳解决方案
答案 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
现在,这当然可以改进,以处理其他可迭代对象和嵌套的数组键,但希望您能掌握这个技巧。