您好我有一个PHP脚本,它返回一个类似的数组:
array(2) {
[0]=> array(1) {
["Code"]=> int(100)
}
[1]=> array(1) {
["Drivers"]=> array(1) {
[0]=> array(7) {
["RowID"]=> string(3) "139"
["DriverName"]=> string(7) "John"
["DriverAlias"]=> string(6) "DRX7"
["DriverEmail"]=> string(23) "xxx@hotmail.fr"
["DriverPhone"]=> string(12) "8888888888"
["DriverActivity"]=> string(8) "Inactive"
["DriversActiveDates"]=> array(1) {
[0]=> string(9) "2014-2-15"
}
}
}
}
}
如何阅读或打印此阵列上的所有信息?感谢
答案 0 :(得分:0)
试试这个;
foreach($arr as $a){
foreach($a as $key => $value){
if(is_array($value)){
foreach($value as $key2 => $value2){
echo'key: '.$key2.' value: '.$value2;
}
}
else{
echo'key: '.$key.' value: '.$value;
}
}
}
答案 1 :(得分:0)
由于数组中的数组具有未知深度,因此必须使用递归函数来确保获得每个键/值对。
array_walk_recursive($your_array, function($item, $key){
if (!is_array($item)) print "{$key}: {$item}";
});
在array_walk_recursive
的php文档中右边是另一个例子:
$sweet = array('a' => 'apple', 'b' => 'banana');
$fruits = array('sweet' => $sweet, 'sour' => 'lemon');
function test_print($item, $key)
{
echo "$key holds $item\n";
}
array_walk_recursive($fruits, 'test_print');
答案 2 :(得分:0)
你可以试试这个
function printArray($value, $key){
echo sprintf('%s => %s', $key, $value);
}
array_walk_recursive($a, 'printArray');