加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 查找数组中的最大值

发布时间:2020-12-13 17:12:58 所属栏目:PHP教程 来源:网络整理
导读:我的要求是在数组中找到最大/最大值,其中可能包含其中的其他数组.例如,我们可以查看下面的数组. $array = array( 13,array(10,4,111,3),array(23,450,12,array(110,119,20,670),45,67,89),);$max = find_max($array,0);print "Maximumum Value is $max"; 我
我的要求是在数组中找到最大/最大值,其中可能包含其中的其他数组.例如,我们可以查看下面的数组.

$array =
    array(
        13,array(10,4,111,3),array(23,450,12,array(110,119,20,670),45,67,89),);

$max = find_max($array,0);

print "Maximumum Value is  $max";

我已经有了一个工作函数find_max,但我想知道的是除了下面给出的代码之外,最好和最有效的方法是什么.

function find_max($array,$maxValue) {
    foreach ($array as $member) {
        if (is_array($member)) {
            $maxValue = find_max($member,$maxValue);
        } else {

            if($member==$maxValue){
                continue;
            }
            if ($member > $maxValue) {
                $maxValue = $member;
            }
        }
    }
    return $maxValue;
}

解决方法

找到最大值需要O(n),所以就我所知,你不能大幅改进它.
但是,您可以为代码添加一些小改进:

function find_max($array,$maxValue);
        } else {
            if ($member > $maxValue) {
                $maxValue = $member;
            }
        }
    }
    return $maxValue;
}

$array =
array(
    13,);
$ans = find_max($array,0);
echo "ans = $ans";

输出:670

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读