将php数组数据显示为行

时间:2013-12-03 20:17:02

标签: php arrays

我有这种类型的数组数据

(它只是原始数组的一部分)

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

1 个答案:

答案 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);

工作示例:http://3v4l.org/VLJVU