我在此链接Array Sample
上有一个嵌套数组我正在使用下面的代码来解析这个问题,但是第二个并且超出深度它没有返回任何内容。但尝试使用递归函数。
printAllValues($ArrXML);
function printAllValues($arr) {
$keys = array_keys($arr);
for($i = 0; $i < count($arr); $i++) {
echo $keys[$i] . "$i.{<br>";
foreach($arr[$keys[$i]] as $key => $value) {
if(is_array($value))
{
printAllValues($value);
}
else
{
echo $key . " : " . $value . "<br>";
}
}
echo "}<br>";
}
}
我做错了什么?请帮忙。
答案 0 :(得分:1)
J. Litvak的答案版本适用于SimpleXMLElement对象。
function show($array) {
foreach ($array as $key => $value) {
if (!empty($value->children())) {
show($value);
} else {
echo 'key=' . $key . ' value=' . $value. "<br>";
}
}
}
show($ArrXML);
答案 1 :(得分:0)
您可以使用recurcive功能打印所有值:
function show($array) {
foreach( $array as $key => $value) {
if (is_array($value)) {
show($value);
} else{
echo 'key=' . $key . ' value=' . $value. "<br>";
}
}
}
show($ArrXML);