PHP数据值是中文的时候排序

这里说一下PHP数组里面的值是中文的时候,怎么样按照中文的首字母拼音进行排序,也算是一个小技巧吧。。。
function zsort(&$arr) {
    //不是数组则直接退出
    if (!isset($arr) || !is_array($arr)) {
        return false;
    }
    foreach ($arr as $k => $v) {
        //先把中文从utf8字符集转成gbk字符集
        $arr[$k] = iconv('UTF-8', 'GBK//IGNORE', $v);
    }
    //对转码后的gbk字符集使用自然排序【php的自然排序函数对utf8编码的中文排序不起作用】
    asort($arr);
    foreach ($arr as $k => $v) {
        //恢复编码
        $arr[$k] = iconv('GBK', 'UTF-8//IGNORE', $v);
    }
    return true;
}

//使用
$names = array('你', '我', '他', '刘', '惜', '君');
zsort($names);
print_r($names);
友荐云推荐