如何获取数组中最长字符串的长度

2022-08-30 12:33:30

假设我有这个数组:

$array[] = 'foo';
$array[] = 'apple';
$array[] = '1234567890;

我想获取此数组中最长字符串的长度。在本例中,最长的字符串为 10,其长度为 10。1234567890

这是否可能而不循环通过数组并检查每个元素?


答案 1

尝试

$maxlen = max(array_map('strlen', $ary));

答案 2

确定:

function getmax($array, $cur, $curmax) {
  return $cur >= count($array) ? $curmax :
    getmax($array, $cur + 1, strlen($array[$cur]) > strlen($array[$curmax])
           ? $cur : $curmax);
}

$index_of_longest = getmax($my_array, 0, 0);

那里没有循环。;-)