1

我有像这样的多维数组:

Array
(
    [name] => Array
        (
            [0] => South Africa
            [1] => Australia
            [2] => Egypt
        )

    [img] => Array
        (
            [0] => sa-flag.jpg
            [2] => au-flag.jpg
            [1] => eg-flag.jpg
        )
)

我想按字母顺序对其进行排序,使其输出完全像:

Array
(
    [name] => Array
        (
            [0] => Australia
            [1] => Egypt
            [2] => South Africa
        )

    [img] => Array
        (
            [0] => au-flag.jpg
            [2] => eg-flag.jpg
            [1] => sa-flag.jpg
        )
)

我无法在两个键上使用排序来将国家名称与国旗同步。

4

2 回答 2

4

请找到以下解决方案

$kd = array(
'name' => array(
        '0' => 'South Africa',
        '1' => 'Australia',
        '2' => 'Egypt',
    ),

'img' => array
    (
        '0' => 'sa-flag.jpg',
        '2' => 'au-flag.jpg',
        '1' => 'eg-flag.jpg',
    ),
);
array_multisort($kd['name'], SORT_ASC, SORT_STRING,$kd['img'], SORT_ASC, SORT_STRING);
echo '<pre>';
print_r($kd);

找到以下核心概念

http://www.php.net/manual/en/function.array-multisort.php#example-4840

于 2013-04-25T08:00:43.397 回答
0

试试这个

$arr = array_multisort($array);
于 2013-04-25T07:52:44.717 回答