PHP:排序多维数组

时间:2013-04-25 07:49:21

标签: php arrays multidimensional-array

我有多维数组,如:

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
        )
)

我无法在两个键上使用sort来同步国家/地区名称。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

试试这个

$arr = array_multisort($array);