使用未排序的索引对数组进行排序

i got an array like this with unsorted outer index.

$a = array(
             (1) => array(1, 2, 3, 0, 5, 4),
             (0) => array(2, 1, 5, 0, 3, 4)
         );
echo "<br/>Before Sorting: ";
print_r($a);
foreach($a as $b)
  array_multisort($b, SORT_ASC, SORT_NUMERIC);
echo "<br/>After Sorting: ";
print_r($a);

which gives me output as below

Before Sorting:

Array
(
    [1] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
            [3] => 0
            [4] => 5
            [5] => 4
        )

    [0] => Array
        (
            [0] => 2
            [1] => 1
            [2] => 5
            [3] => 0
            [4] => 3
            [5] => 4
        )

)

After Sorting:

Array
(
    [1] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
            [3] => 0
            [4] => 5
            [5] => 4
        )

    [0] => Array
        (
            [0] => 2
            [1] => 1
            [2] => 5
            [3] => 0
            [4] => 3
            [5] => 4
        )

)

AND WHAT I WANT IS

$a = array(
              (0) => array(2, 1, 5, 0, 3, 4),
              (1) => array(1, 2, 3, 0, 5, 4)

          );

please tell me how to deal with.........

How about just using ksort (as you need to reorder your array by key)?

$a = array(
  1 => array(1, 2, 3, 0, 5, 4),
  0 => array(2, 1, 5, 0, 3, 4)
);
echo "<br/>Before Sorting: ";
print_r($a);

ksort($a);
echo "<br/>After Sorting: ";
print_r($a);

Since you're only wanting to sort by the top level indices, you don't need to use multisort. You don't even need a loop.

Try this:

$a = array(
             (1) => array(1, 2, 3, 0, 5, 4),
             (0) => array(2, 1, 5, 0, 3, 4)
         );

ksort($a);

print_r($a);

Should give you what you want.

See http://www.php.net/manual/en/function.ksort.php for more info.