use*_*871 3 php arrays multidimensional-array
我找到了以下代码,它可以打印出数组中的所有元素.如何修改它以打印一次键,然后是键对应的所有值,然后是另一个键,那么所有与键对应的值?我也想修改它,因此它只打印每个键的前9个值(不超过这个值).
function printAll($a) {
if (!is_array($a)) {
echo $a, ' ';
return;
}
foreach($a as $v) {
printAll($v);
}
}
Run Code Online (Sandbox Code Playgroud)
我假设你想要一些非编程人类可以从某种意义上做出某种意义.
function pretty_dump($arr, $d=1){
if ($d==1) echo "<pre>"; // HTML Only
if (is_array($arr)){
foreach($arr as $k=>$v){
for ($i=0;$i<$d;$i++){
echo "\t";
}
if (is_array($v)){
echo $k.PHP_EOL;
Pretty_Dump($v, $d+1);
} else {
echo $k."\t".$v.PHP_EOL;
}
}
}
if ($d==1) echo "</pre>"; // HTML Only
}
Run Code Online (Sandbox Code Playgroud)
用法:
$myarray=array(
'mammals'=>array(
'cats'=>array(
'cheetah',
'lion',
'cougar'
),
'dogs'=>array(
'big'=>'Scooby',
'small'=>'chihuahua',
'medium'=>array(
'pumi',
'bulldog',
'boxer'
)
),
),
'fish'=>'fish',
'birds'=>array(
'flying'=>array(
'mallard',
'condor',
'gull'
),
'nonflying'=>'emu'
)
);
pretty_dump($myarray);
Run Code Online (Sandbox Code Playgroud)
输出:
mammals
cats
0 cheetah
1 lion
2 cougar
dogs
big Scooby
small chihuahua
medium
0 pumi
1 bulldog
2 boxer
fish fish
birds
flying
0 mallard
1 condor
2 gull
nonflying emu
Run Code Online (Sandbox Code Playgroud)