簡體   English   中英

如何獲取數組最小值

[英]How to get array min value

我有多維數組,我需要獲得最小值。

數組可能是[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

您可以使用array_walk_recursive()函數來展平給定數組(使其成為一維)。

然后使用簡單的min()函數來獲得所需的輸出。

array_walk_recursive($arr, function($v) use (&$res){
    $res[]=$v; 
});

echo min($res);

演示

<?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

echo $GLOBALS["min"]; ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM