日期:2014-05-17  浏览次数:20467 次

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
        (