我有多維數組,我需要得到一個最小值。數組可能是[65,4,4,511,5,[[54,54[.[.[..].].]]等等。示例代碼<?php $arr = [5, 1 , 2, 3, [1,5,59,47,58,[0,12,562]]];function NumMin($arr){ $num = ''; foreach ($arr as $item => $i) { if(is_array($i)){ NumMin($i); } else{ $num .= $i.','; } } $num .= $num; return $num;}$g = NumMin($arr);var_dump($g);我需要得到0
2 回答

收到一只叮咚
TA貢獻1821條經驗 獲得超5個贊
您可以使用array_walk_recursive()函數來展平給定的數組(使其成為一維)。
然后使用簡單min()的函數來獲得所需的輸出。
array_walk_recursive($arr, function($v) use (&$res){
$res[]=$v;
});
echo min($res);

慕標琳琳
TA貢獻1830條經驗 獲得超9個贊
<?php
$GLOBALS["min"] = 999999; //min value int
$arr = [[[5,6],7],9,7,5, 1 , 2, 3, [1,5,59,47,58,[1,12,562]]];
array_walk_recursive($arr, 'NumMin');
function NumMin($item)
{
if(intval($item) <= intval($GLOBALS["min"]))
{
$GLOBALS["min"] = intval($item);
}
}
// The end, $GLOBALS["min"] will have the least value
回聲 $GLOBALS["min"]; ?>
- 2 回答
- 0 關注
- 96 瀏覽
添加回答
舉報
0/150
提交
取消