首頁 > 問答 > 主體
二维数组排序,需要排序的字段是中文,怎么实现?我现在是把中文字段转化成了拼音,用拼音排序的,有没有更科技高效的办法。
伊谢尔伦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");
<code> header(
"Content-type:text/html;charset=utf-8"
);
$array = array(
$array
=
array
(
array("新浪", 'x'),
"新浪"
,
'x'
),
array("百度", 'b'),
"百度"
'b'
array("腾讯", 't')
"腾讯"
't'
)
//转换编码构造
foreach ($array as $key => $item) {
foreach
as
$key
=>
$item
) {
$sort_array[] = iconv("UTF-8", "GB2312", $item[0]);
$sort_array
[] = iconv(
"UTF-8"
"GB2312"
[0]);
}
//调用函数,注意参数相关写法
array_multisort($sort_array, SORT_STRING, $array);
array_multisort
, SORT_STRING,
var_dump($array);</code>
var_dump(
);</code>