PHP 数组中最短/最长字符串长度
2022-08-30 12:26:53
我有一个这样的数组
$data = array(
"163",
"630",
"43",
"924",
"4",
"54"
);
我如何根据字符串长度而不是数字值从中选择最小值和最大值。(对于此示例,它是 1(最小)和 3(最大)。。
我有一个这样的数组
$data = array(
"163",
"630",
"43",
"924",
"4",
"54"
);
我如何根据字符串长度而不是数字值从中选择最小值和最大值。(对于此示例,它是 1(最小)和 3(最大)。。
似乎你应该使用array_map()
// Convert array to an array of string lengths
$lengths = array_map('strlen', $data);
// Show min and max string length
echo "The shortest is " . min($lengths) .
". The longest is " . max($lengths);
请注意,数组是未排序的,因此您可以轻松检索每个字符串长度的相应数字。$lengths
以下是brian_d代码的改进版本:
$min = PHP_INT_MAX;
$max = -1;
foreach ($data as $a) {
$length = strlen($a);
$max = max($max, $length);
$min = min($min, $length);
}