gpt4 book ai didi

php - 如何编写函数 Max($array),它返回 $array 或嵌套在 $array 中的某个数组中包含的最大值

转载 作者:行者123 更新时间:2023-12-04 14:21:15 25 4
gpt4 key购买 nike

例如:

$array= array(array(141,151,161),2,3,array(101,202,array(303,606)));

输出:606

最佳答案

你需要的是递归地遍历你的数组;这意味着 max 不是递归的函数不会“足够”。

但是,如果您查看 the manual page of max 上的用户注释,你会发现 this note from tim ,谁提出了这个递归函数(引用):

function multimax( $array ) {
// use foreach to iterate over our input array.
foreach( $array as $value ) {

// check if $value is an array...
if( is_array($value) ) {

// ... $value is an array so recursively pass it into multimax() to
// determine it's highest value.
$subvalue = multimax($value);

// if the returned $subvalue is greater than our current highest value,
// set it as our $return value.
if( $subvalue > $return ) {
$return = $subvalue;
}

} elseif($value > $return) {
// ... $value is not an array so set the return variable if it's greater
// than our highest value so far.
$return = $value;
}
}

// return (what should be) the highest value from any dimension.
return $return;
}

在您的阵列上使用它:
$arr= array(array(141,151,161),2,3,array(101,202,array(303,404)));
$max = multimax($arr);
var_dump($max);

给出:
int 404

当然,这需要更多的测试——但这至少应该是一个开始。

(查看手册页上的用户注释总是一个好主意:如果您遇到问题,很可能其他人已经遇到了该问题;-))

关于php - 如何编写函数 Max($array),它返回 $array 或嵌套在 $array 中的某个数组中包含的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2309461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com