比如
$families = array
(
"Griffin"=>array
(
"Peter"=>50
),
"Brown"=>array
(
"Cleveland"=>30
)
);
正序排,排完序后的键名和对应的键值不变,形如下面的形式:
$families = array
(
"Brown"=>array
(
"Cleveland"=>30
),
"Griffin"=>array
(
"Peter"=>50
)
);
$families = array
(
"Griffin"=>array
(
"Peter"=>50
),
"Brown"=>array
(
"Cleveland"=>30
)
);
正序排,排完序后的键名和对应的键值不变,形如下面的形式:
$families = array
(
"Brown"=>array
(
"Cleveland"=>30
),
"Griffin"=>array
(
"Peter"=>50
)
);
解决方案 »
- 怎么做上一个,下一个
- 前台怎样与php交互。。。。。。。。。
- 100分使用smarty怎样把这页分开
- jquery.ajax请求数据 JSON只得到一行 如何得到多行数据 求教
- 请问php mysql zend 在Windows2003 Server下可以安装使用吗?
- 正则表达式中的字符替换
- 在页面中操作一个列表框的时候如何获得另一个列表框当前的值?
- 请问大虾们:在PHP里这样调用计数器有问题吗?<script language="JavaScript" src="/count/count.php"></script>
- 这个问题有点难
- 我在编写php中的一点经验体会
- PHP跳转菜单读取值问题
- PHP画图的一些疑问
$families = array(
"Griffin" => array(
"Peter"=>50
),
"Brown"=>array(
"Cleveland"=>30
),
);ksort($families);
print_r($families);Array
(
[Brown] => Array
(
[Cleveland] => 30
) [Griffin] => Array
(
[Peter] => 50
))
此处要求是用键值对数组排序。例如:
$families2 = array
(
"Griffin"=>array
(
"Peter"=>50 )
,
"Krown"=>array
(
"Cleveland"=>30
),
"Brown"=>array
(
"Cleveland"=>10
),
);
如果用ksort()的话,就不对了,出来的结果是
Array
(
[Brown] => Array
(
[Cleveland] => 10
) [Griffin] => Array
(
[Peter] => 50
) [Krown] => Array
(
[Cleveland] => 30
))
没有正序排
ksort() 函数按照键名对数组排序,为数组值保留原来的键。
而此处是要求对键值进行排序。用ksort达不到要求的,例如
$families2 = array
(
"Griffin"=>array
(
"Peter"=>50 )
,
"Krown"=>array
(
"Cleveland"=>30
),
"Brown"=>array
(
"Cleveland"=>10
),
);用ksot排序后如下:
Array
(
[Brown] => Array
(
[Cleveland] => 10
) [Griffin] => Array
(
[Peter] => 50
) [Krown] => Array
(
[Cleveland] => 30
))
没有达到排序要求
foreach($v as $vl) $p[]=$vl;
array_multisort($p,SORT_ASC,$families);
print_r($families);