这是多维数组
$arr = array(
array(141,151,161),
2,
3,
array(
101,
202,
array(303,404)
)
);
如何找到最大值,上面数组中的结果应该是404。
阵列深度可以大于3。
这是我最后一次尝试的代码,但是我注意到这只能检查到3深度,我需要它可以检查无限深度。
function MaxArray($arr){
foreach($arr as $valueDepth1){
if(is_array($valueDepth1)){
foreach($valueDepth1 as $valueDepth2){
if(is_array($valueDepth2)){
foreach($valueDepth2 as $valueDepth3){
$checingArray[]=$valueDepth3;
}
}else{
$checingArray[]=$valueDepth2;
}
}
}else{
$checingArray[]=$valueDepth1;
}
}
return max($checingArray);
}
最佳答案
function highest($array) {
foreach($array as $key => $value) {
if (is_array($value)) {
$array[$key] = highest($value);
}
}
sort($array);
return array_pop($array);
}
你可以在这里看到它:http://codepad.org/4xPFsU1U