现在有个二维数组:Array
(
    [0] => Array
        (
[id]=2
            [p_name] => sadasd
        )
    [1] => Array
        (
[id]=3
            [p_name] => qwe213
        )
    [2] => Array
        (
[id]=4
            [p_name] => u12345678
        )
    [3] => Array
        (
  [id]=5
           [p_name] => 2313
        )
    [4] => Array
        (
  [id]=6
            [p_name] => U3293411
       )    [5] => Array
        (
  [id]=7
           [p_name] => sw222
        )
)有个一维数组:
Array ( [0] => 3 [1] => 2 [2] => 7 [3] => 6 [4] => 4 [5] => 5 )一维数组里的值,跟二维中的[id]是对应的,我现在想让二位数组按照一维数组的值排序,这个咋弄,各位大神。

解决方案 »

  1.   

    $a = Array(
      Array( 'id' => 2, 'p_name' => 'sadasd' ),
      Array( 'id' => 3, 'p_name' => 'qwe213' ),
      Array( 'id' => 4, 'p_name' => 'u12345678' ),
      Array( 'id' => 5, 'p_name' => '2313' ),
      Array( 'id' => 6, 'p_name' => 'U3293411' ),
      Array( 'id' => 7, 'p_name' => 'sw222' ),
    );
    $b = Array( 3, 2, 7, 6, 4, 5 );
    foreach($a as $v) $r[] = array_search($v['id'], $b);
    array_multisort($r, $a);
    print_r($a);Array
    (
        [0] => Array
            (
                [id] => 3
                [p_name] => qwe213
            )    [1] => Array
            (
                [id] => 2
                [p_name] => sadasd
            )    [2] => Array
            (
                [id] => 7
                [p_name] => sw222
            )    [3] => Array
            (
                [id] => 6
                [p_name] => U3293411
            )    [4] => Array
            (
                [id] => 4
                [p_name] => u12345678
            )    [5] => Array
            (
                [id] => 5
                [p_name] => 2313
            ))