PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

array_multisort()二维数组排序中文值

原创
2016-06-06 20:20:08 1446浏览

二维数组排序,需要排序的字段是中文,怎么实现?
我现在是把中文字段转化成了拼音,用拼音排序的,有没有更科技高效的办法。

回复内容:

二维数组排序,需要排序的字段是中文,怎么实现?
我现在是把中文字段转化成了拼音,用拼音排序的,有没有更科技高效的办法。

首先吧,要对array_multisort()理解,可看手册
(sort_array, sorting type, $source_array) 排序数组,排序方式,排序的源数组
其次,UTF-8 转成 GBK2312 才能实现以拼音顺序。上代码吧,感受一下。

    header("Content-type:text/html;charset=utf-8");

    $array = array(
        array("新浪", 'x'),
        array("百度", 'b'),
        array("腾讯", 't')
    );
    //转换编码构造
     foreach ($array as $key => $item) {
         $sort_array[] = iconv("UTF-8", "GB2312", $item[0]);
     }
     //调用函数,注意参数相关写法
     array_multisort($sort_array, SORT_STRING, $array);
     var_dump($array);
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。