一个数组排序问题,要求按照“人名长度”排序,如下:
$students[] = "胡一";
$students[] = "李文文";
$students[] = "向魏";
$students[] = "欧阳飞飞";
$students[] = "黄贝英";
几个思路,如下:
<?php
function cmp($a, $b)
{
if (strlen($a) == strlen($b)) {
return 0;
}
return (strlen($a) < strlen($b)) ? -1 : 1;
}
usort($students,"cmp");
foreach ($students as $key => $value) {
echo "$key: $value<br>";
}
---------思路二
$length = array_map( 'strlen', $students );
array_multisort( $length,SORT_DESC,$students );
print_r($students);
性能没做深究,不过当一个方法借鉴我觉得够用了。也权当熟悉php 数组函数了。