我有这种类型的数组数据
(它只是原始数组的一部分)
Array
(
[out] => Array
(
[in1] => Array
(
[d1] => data1
[d2] => data2
[d3] => data3
[d4] => data4
[d5] => data5
[d6] => data6
[d7] => data7
[d8] => data8
)
[in2] => Array
(
[d9] => Array
(
[b1] => data9
[b2] => data10
)
[d10] => Array
(
[b1] => data11
[b2] => data12
)
)
)
)
如何像这样显示......
out.in1.d1=data1
out.in1.d2=data2
out.in1.d3=data3
out.in1.d4=data4
out.in1.d5=data5
out.in1.d6=data6
out.in1.d7=data7
out.in1.d8=data8
out.in2.d9.b1=data9
out.in2.d9.b2=data10
out.in2.d10.b1=data11
out.in2.d11.b2=data12
我试过这个
function test_print($data, $key)
{
echo "$key='$data'\n";
}
array_walk_recursive($array, 'test_print');
但它只打印最后一个键
像这样
D1 = DATA1
d2 = data2
答案 0 :(得分:4)
不确定您是否可以使用内置的PHP函数执行此操作。但是这里有一个简单的递归函数,可以提供你想要的东西:
function recursePrint($array, $prefix = '') {
foreach($array AS $key => $value) {
if(is_array($value)) {
recursePrint($value, $prefix . $key . ".");
} else {
echo $prefix . $key . "=" . $value . "\n";
}
}
}
recursePrint($array);