查找具有最高和最低元素数的数组

I would like to figure out which array is the biggest and the smallest according to the number of values it contains.

For example:

$array=[
 "subarray1"=>[1]
 "subarray2"=>[1,2,3,4,5,6,7,8]
 "subarray3"=>[1,2,3,4]
];

max_elements($array) returns subarray2 and min_elements($array) returns subarray1

Does PHP have any functions that can select array with most number of elements and the array with the least number elements?

An example of finding the keys for the sub-arrays that contain the least members:

<?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));

Output:

array (
  0 => 'subarray1',
  1 => 'subarray4',
)

Inspired by @Rizier123's comment.

iterate once getting the count, then return the key with array_search using min or max

<?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