搜尋

首頁  >  問答  >  主體

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

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

怪我咯怪我咯2895 天前966

全部回覆(1)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-10 16:42:07

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    <code>    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);</code>

    回覆
    0
  • 取消回覆