php 如何进行二维数组排序

张学良友 发布于 2017/09/04 21:09
阅读 274
收藏 0
PHP

$array = Array (
    [ 软件] => Array
        (
            [docs] => 2
            [hits] => 2
        )

    [ 错误信息 ] => Array
        (
            [docs] => 153
            [hits] => 153
        )

    [ 如 ] => Array
        (
            [docs] => 124
            [hits] => 124
        )

);

这样一个二维数组,我想实现根据[ 软件] [ 错误信息 ] [ 如 ] 字符的长度来排序。如何实现

加载中
1
Andyfoo
Andyfoo
<pre>
<?php
$array = array(
	'软件' => array(
		'docs' => 2,
		'hits' => 2
	),
	'错误信息' => array(
		'docs' => 153,
		'hits' => 153
	),
	'如' => array(
		'docs' => 124,
		'hits' => 124
	)
);

function  cmp($a, $b){
	return strlen($a) - strlen($b);
	//return strlen($b) - strlen($a);
}
uksort($array , 'cmp');

print_r($array);
?>

 

tcxu
tcxu
为 Andyfoo 的答案 点赞! 补充:为了确保正常输出汉字,第一行<pre> 改为/添上 <meta charset="utf-8" />
0
老张大哥
老张大哥
usort 这个函数
0
Shabby-滔
Shabby-滔

uksort(),自定义函数取strlen来比较

 

返回顶部
顶部