Php 在数组组中查找最小值和最大值
这就是我尝试过的:Php 在数组组中查找最小值和最大值,php,arrays,max,minimum,array-reduce,Php,Arrays,Max,Minimum,Array Reduce,这就是我尝试过的: Array ( [0] => Array ( [package] => LTE_15AGB [value] => Array ( [0] => 52690 [1] => 24700 [2] => 43972
Array
(
[0] => Array
(
[package] => LTE_15AGB
[value] => Array
(
[0] => 52690
[1] => 24700
[2] => 43972
[3] => 506417
[4] => 488125
[5] => 935918
[6] => 1322816
[7] => 1189040
[8] => 2805279
[9] => 2764825
[10] => 1688294
[11] => 1228812
[12] => 2232345
[13] => 3356143
[14] => 1193213
[15] => 167589
[16] => 1373104
[17] => 691411
[18] => 1398647
[19] => 5
)
)
[1] => Array
(
[package] => LTE_15AGB_NT
[value] => Array
(
[0] => 953370
[1] => 151168
[2] => 37605
[3] => 428769
[4] => 755222
[5] => 1146719
[6] => 494289
[7] => 889002
[8] => 307200
[9] => 127972
[10] => 2764815
[11] => 1426224
[12] => 262669
[13] => 648757
[14] => 1485
[15] => 1202
[16] => 998
[17] => 1
)
)
)
@阿雷比·斯里,你们应该用php搜索数组,这就像基本问题一样
$tmp = array();
foreach($arrayName as $arg){
$tmp[$arg['package']][] = $arg['value'];
}
$output = array();
foreach($tmp as $type => $labels){
$output[] = array( 'package' => $type, 'value' => $labels, );
}
print_r(($output))
我正在使用simpleforeach
和两个函数arrayreset()
和end()
reset():返回第一个数组元素的值,如果数组为空,则返回FALSE
end():返回最后一个元素的值,对于空数组返回FALSE
只需使用min()
和max()
函数即可
您的代码:
$finalArray = [];
foreach ($mainArr as $subArr){
$array = $subArr['value'];
sort($array);
$tempArray['minimum'] = reset($array);
$tempArray['maximum'] = end($array);
$tempArray['package'] = $subArr['package'];
$finalArray[] = $tempArray;
}
$finalArray //you can use
输出为:
子阵列0最小值=5,最大值=3356143子阵列1最小值=1,最大值=2764815 参考文献:
foreach(array_column($array, 'value') as $key => $values){
echo PHP_EOL . 'SubArray '. $key .' min = '. min($values) . ' and max value = '. max($values);
}
foreach($subar形式的_数组){
echo$Subar[软件包]。“最小值=”;
echo min($subar[value])”和max=“;
回波最大值($subar[值])”
”;
}
这将输出每个包名以及最小值和最大值。代码在哪里?StackOverflow不是代码编写服务。是的,先生,我无法添加正确的代码。我的代码是$tmp=array();foreach($arrayName as$arg){$tmp[$arg['package']][=$arg['value'];}$output=array();foreach($tmp as$type=>$labels){$output[]=array('package'=>$type,'value'=>$labels,;}print_r($output));请在您的问题中添加您的代码。我想找到每个包组的最小值和最大值..请帮助我sir谢谢先生..但我想找到每个包组的最小值和最大值..请帮助我sir[package]=>LTE_15AGB minimum=xxxx maximum=xxxx[package]=>LTE_5AGBNT最小值=xxxx最大值=xxxx很抱歉给您添麻烦。。我是新手这是我试过的代码$resultnew=array_reduce($output,function($memo,$el){if($memo[0]<$el['value']){$memo=array($el['value']),$el);}返回$memo;},数组(0,null));打印($resultnew[1])
foreach ($your_array as $subarr) {
echo $subarr[package]." minimum = ";
echo min($subarr[value])." and maximum = ";
echo max($subarr[value])."<br>";
}