![](/img/trans.png)
[英]How to find highest ,second highest number, Lowest Second Lowest number from Array in PHP
[英]Finding array with highest and lowest number of elements
我想根據它包含的值的數量找出最大和最小的數組。
例如:
$array=[
"subarray1"=>[1]
"subarray2"=>[1,2,3,4,5,6,7,8]
"subarray3"=>[1,2,3,4]
];
max_elements($陣列)返回subarray2和min_elements($陣列)返回subarray1
PHP是否有任何函數可以選擇元素數最多的數組和元素數最少的數組?
一旦獲得count
就進行迭代,然后使用min
或max
使用array_search
返回鍵
<?php
function extreme_elements($arr, $min_max){
foreach ($arr as $key => $val)
$arr[$key] = count($val);
return array_search($min_max($arr),$arr);
}
// friendly named wrappers
function max_elements($arr){
return extreme_elements($arr, 'max');
}
function min_elements($arr){
return extreme_elements($arr, 'min');
}
$array=[
"subarray1"=>[1],
"subarray2"=>[1,2,3,4,5,6,7,8],
"subarray3"=>[1,2,3,4]
];
echo max_elements($array); // subarray2
echo min_elements($array); // subarray1
查找包含最少成員的子數組的鍵的示例:
<?php
$array=[
'subarray1'=>[1],
'subarray2'=>[1,2,3,4,5,6,7,8],
'subarray3'=>[1,2,3,4],
'subarray4'=>[3],
];
$counted = array_map('count', $array);
$min_member_count = min($counted);
$mins = array_filter($counted, function($item) use ($min_member_count) {
if($min_member_count == $item) return true;
});
var_export(array_keys($mins));
輸出:
array (
0 => 'subarray1',
1 => 'subarray4',
)
受到@ Rizier123的評論的啟發。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.