php二维数组排序
$arr = array (
array ('desc' => 'pic13.jpg'),
array ('desc' => 'pic18.jpg'),
array ('desc' => 'pic21.jpg'),
array ('desc' => 'pic22.jpg'),
array ('desc' => 'pic23.jpg'),
array ('desc' => 'pic5.jpg'),
array ('desc' => 'pic6.jpg'),
array ('desc' => 'pic7.jpg'),
array ('desc' => 'pic8.jpg'),
array ('desc' => 'pic9.jpg'),
);
数组的desc按照顺序排列,值按照从小到大。
------解决思路----------------------$arr = array (
array ('desc' => 'pic13.jpg'),
array ('desc' => 'pic18.jpg'),
array ('desc' => 'pic21.jpg'),
array ('desc' => 'pic22.jpg'),
array ('desc' => 'pic23.jpg'),
array ('desc' => 'pic5.jpg'),
array ('desc' => 'pic6.jpg'),
array ('desc' => 'pic7.jpg'),
array ('desc' => 'pic8.jpg'),
array ('desc' => 'pic9.jpg'),
);
foreach($arr as $v) $r[] = substr($v['desc'], 3, -4);
array_multisort($r, $arr);
print_r($arr);
Array
(
[0] => Array
(
[desc] => pic5.jpg
)
[1] => Array
(
[desc] => pic6.jpg
)
[2] => Array
(
[desc] => pic7.jpg
)
[3] => Array
(
[desc] => pic8.jpg
)
[4] => Array
(
[desc] => pic9.jpg
)
[5] => Array
(
[desc] => pic13.jpg
)
[6] => Array
(
[desc] => pic18.jpg
)
[7] => Array
(
[desc] => pic21.jpg
)
[8] => Array
(
[desc] => pic22.jpg
)
[9] => Array
(
[desc] => pic23.jpg
)
)