我想在php 4.0中返回数组中最长的字符串,我的示例代码看起来像这样。
$MyArray=Array("Jane","Magdalene","Bull fighting champion","cruising","Tommy Lee Jones","View","axe");
$largest = max($MyArray);
echo $largest.
$longest = $MyArray[0];
foreach( $MyArray as $str ) {
if ( strlen( $str ) > strlen( $longest ) ) {
$longest = $str;
}
}
max()
是给出一个整数列表的最大值。不幸的是,你的问题更复杂。
<?php
$MyArray=Array("Jane","Magdalene","Bull fighting champion","cruising","Tommy Lee Jones","View","axe");
$maxlen = 0;
$idx = -1;
for ($i=count($MyArray); $i; $i--) {
$len = strlen($MyArray[$i-1]);
if ($len > $maxlen) {
$maxlen = $len;
$idx = $i-1;
};
}
if ($idx >0) {
echo $MyArray[$idx];
}
你可以试试:
$lengths = array();
for($i=0; $i<count($MyArray); $i++) {
$lengths[$myArray[$i]] = strlen($MyArray[$i]);
}
arsort($lengths);
echo key($lengths);
以及没有手动循环的精简版:
$array = array_combine($array, array_map("strlen", $array));
arsort($array);
print key($array);