下面是我的数组:
Array
(
[3] => Array
(
[2] => 3
[4] => 1
[5] => 2
[6] => 2
)
[5] => Array
(
[2] => 1
[3] => 2
[4] => 3
[6] => 3
)
在这个数组中,我想找到最大数,如果数组包含相同的最大值,那么我们随机选择一个最大值.
预期产出如下:
Array
(
[3] => Array
(
[2] => 3
)
[5] => Array
(
[4] => 3
)
[6] => Array
(
[2] => 3
)
)
这就是我尝试过的:
$found = Array( [3] => Array ( [2] => 3 [4] => 1 [5] => 2 [6] => 2 ) [5] => Array ( [2] => 1 [3] => 2 [4] => 3 [6] => 3 ) [6] => Array ( [2] => 3 [3] => 2 [4] => 2 [5] => 3 ))
$fmaxnum = array();
foreach($found as $fk => $fv){
$fmaxnum[$fk] = max($fv);
}
echo "
";print_r($fmaxnum);echo ""
解决方法:
如果你只是想知道我理解的最高价值
In this array I want to find the maximum number and if the array
contains the same maximum values then we choose one maximum value
randomly.
你可以这样做
$array = [['3','1','2','2'],['1','2','3','3'],['2','1','1','3']];
$result = [];
foreach(new RecursiveIteratorIterator(new RecursiveArrayIterator($array)) as $value) {
$result[] = $value;
}
echo max($result);
这将预先处理所有数组并在$result上推送值,然后你只需要一个级别数组并轻松使用max函数
标签:php,arrays
来源: https://codeday.me/bug/20190528/1167297.html