本文实例讲述了PHP按指定键值对二维数组进行排序的方法。分享给大家供大家参考,具体如下:
问题:
有数组:
复制代码代码如下:
array(0=>array('id'=>1,'price'=>50),1=>array('id'=>2,'price'=>60));
要求根据数组的price这个字段进行排序。
实现代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php
$array
[] =
array
(
'id'
=>1,
'price'
=>50);
$array
[] =
array
(
'id'
=>2,
'price'
=>70);
$array
[] =
array
(
'id'
=>3,
'price'
=>30);
$array
[] =
array
(
'id'
=>4,
'price'
=>20);
foreach
(
$array
as
$key
=>
$value
){
$id
[
$key
] =
$value
[
'id'
];
$price
[
$key
] =
$value
[
'price'
];
}
array_multisort
(
$price
,SORT_NUMERIC,SORT_DESC,
$id
,SORT_STRING,SORT_ASC,
$array
);
echo
'<pre>'
;
print_r(
$array
);
echo
'</pre>'
;
?>
|
运行结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
Array
(
[0] => Array
(
[id] => 2
[price] => 70
)
[1] => Array
(
[id] => 1
[price] => 50
)
[2] => Array
(
[id] => 3
[price] => 30
)
[3] => Array
(
[id] => 4
[price] => 20
)
)
|