ksort($arr);
但是它只是返回布尔
我想要的输出
array(8) {
[0] =>
array(1) {
'peck' =>
int(4)
}
[1] =>
array(1) {
'Peter' =>
int(4)
}
[2] =>
array(1) {
'picked' =>
int(4)
}
[3] =>
array(1) {
'pickled' =>
int(4)
}
[4] =>
array(1) {
'piper' =>
int(4)
}
数组应按键和上升顺序排序。
使用这样的用户,请检查demo
SORT_FLAG_CASE
来调用
ksort($arr)
。您可以在ksort($arr, SORT_FLAG_CASE)
方法的文档中查看
ksort()
如何使用排序标志。希望有帮助!您可以做这样的事情,
sort()
demo
$temp = array_map(function($a){
return key($a); // fetching all the keys
}, $arr);
natcasesort($temp); // sorting values case insensitive
$result = [];
// logic of sorting by other array
foreach($temp as $v){
foreach($arr as $v1){
if($v == key($v1)){
$result[] = $v1;
break;
}
}
}
在隔离和准备数据以进行比较的同时,较少的开销,将第二级键作为第一个参数,然后设置必要的标志,以对键进行比较。 demo
Array
(
[0] => Array
(
[peck] => 4
)
[1] => Array
(
[Peter] => 4
)
[2] => Array
(
[picked] => 4
)
[3] => Array
(
[pickled] => 4
)
[4] => Array
(
[Piper] => 4
)
)