php 数组里面的中文按照长度进行排序
展开阅读全文

要这样子的结果

应聘  
上海夜场  
招聘要求  
夜场招聘网  
上海夜场招聘

代码如下:

<?php  
// 原始数组  
$array = array(  
    "应聘",  
    "夜场招聘网",  
    "上海夜场招聘",  
    "招聘要求",  
    "上海夜场"  
);  
  
// 自定义比较函数  
function compareByLength($item1, $item2) {  
    $length1 = mb_strlen($item1, 'utf-8'); // 获取第一个关键词的长度  
    $length2 = mb_strlen($item2, 'utf-8'); // 获取第二个关键词的长度  
      
    if ($length1 == $length2) {  
        return 0;  
    }  
      
    return ($length1 < $length2) ? -1 : 1;  
}  
  
// 使用自定义比较函数进行排序  
usort($array, "compareByLength");  
  
// 输出排序后的结果  
foreach ($array as $item) {  
    echo $item . "\n";  
}  
?>