当前位置: 代码迷 >> PHP >> php二维数组排序,该如何解决
  详细解决方案

php二维数组排序,该如何解决

热度:282   发布时间:2013-02-25 10:23:36.0
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按照顺序排列,值按照从小到大。
php?二维数组 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'),
);
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
  相关解决方案