你可以试试 :
简单的例子:
$strings = [
'This a longer string',
'Short string'
];
echo array_reduce($strings, function ($a, $b) {
return strlen($b) > strlen($a) ? $a : $b;
});
如果您还需要比较其他类型..那么您可以使用
示例 1
$string1 = 'This a longer string';
$string2 = 'Short string';
$string3 = 'Hello';
echo minLength($string1, $string2 , $string3);
输出
Hello
示例 2
$range = range(170, 320);
shuffle($range); // Shuffle the array
echo minLength($range);
输出
170
使用的功能
function minLength() {
$parse = function ($v) {
if (is_int($v) || is_float($v)) {
return $v;
} elseif (is_string($v)) {
return strlen($v);
} elseif (is_object($v) || is_array($v)) {
return count($v);
} else {
return $v;
}
};
$args = (func_num_args() === 1 && is_array(func_get_arg(0)))
? func_get_arg(0) : func_get_args();
return array_reduce($args, function ($a, $b) use($parse) {
return $parse($b) > $parse($a) ? $a : $b;
}, reset($args));
}