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'),
);

数组的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
        )

)