-2

我正在尝试对这个多维数组进行排序。我不想按第二个数组中包含的名称对数组的第一个维度进行排序。

我将如何按“名称”的字母顺序对其进行排序:

Array
(
[0] => Array
    (
        ["name"] => "Delta"
        ["other1"] => "other data..."
        ["other2"] => "other data..."
    )

[1] => Array
    (
        ["name"] => "Beta"
        ["other1"] => "other data..."
        ["other2"] => "other data..."
    )

[2] => Array
    (
        ["name"] => "Alpha"
        ["other1"] => "other data..."
        ["other2"] => "other data..."
    )
)

所以它会像这样结束:

Array
(
[0] => Array
    (
        ["name"] => "Alpha"
        ["other1"] => "other data..."
        ["other2"] => "other data..."
    )

[1] => Array
    (
        ["name"] => "Beta"
        ["other1"] => "other data..."
        ["other2"] => "other data..."
    )

[2] => Array
    (
        ["name"] => "Delta"
        ["other1"] => "other data..."
        ["other2"] => "other data..."
    )
)

非常感谢一些帮助!

4

1 回答 1

0

http://3v4l.org/hVUPI

<?php

$array = array(
    array(
        "name" => "Delta",
        "other1" => "other data...",
        "other2" => "other data...",
    ),
    array(
        "name" => "Beta",
        "other1" => "other data...",
        "other2" => "other data...",
    ),
    array(
        "name" => "Alpha",
        "other1" => "other data...",
        "other2" => "other data...",
    ),
);

usort($array, function($a, $b) {
    return strcmp($a['name'], $b['name']);
});

print_r($array);

输出:

Array
(
    [0] => Array
        (
            [name] => Alpha
            [other1] => other data...
            [other2] => other data...
        )

    [1] => Array
        (
            [name] => Beta
            [other1] => other data...
            [other2] => other data...
        )

    [2] => Array
        (
            [name] => Delta
            [other1] => other data...
            [other2] => other data...
        )

)
于 2013-10-10T14:43:56.740 回答