Массив вида объектов

Я испытал затруднения из-за примеров в руководстве PHP, таким образом, я хотел бы спросить это здесь...

У меня есть массив объектов.. Существует ли способ отсортировать его на основе содержания объекта?

Например, мой массив:

Array
(
    [0] => stdClass Object
        (
            [id] => 123
            [alias] => mike
        )

    [1] => stdClass Object
        (
            [id] => 456
            [alias] => alice
        )

    [2] => stdClass Object
        (
            [id] => 789
            [alias] => zeke
        )

    [3] => stdClass Object
        (
            [id] => 987
            [alias] => dave
        )
)

Как я сортирую массив по [псевдоним] объектов?

В примере вывод должен быть:

Array
(
    [0] => stdClass Object
        (
            [id] => 456
            [alias] => alice
        )

    [1] => stdClass Object
        (
            [id] => 987
            [alias] => dave
        )

    [2] => stdClass Object
        (
            [id] => 123
            [alias] => mike
        )

    [3] => stdClass Object
        (
            [id] => 789
            [alias] => zeke
        )
)

Заранее спасибо!

6
задан Michael Berkowski 18 October 2012 в 02:11
поделиться

1 ответ

Используйте usort(). Вы указываете функцию для такого сравнения, и сортировка выполняется на основе функции. Например:

function my_comparison($a, $b) {
  return strcmp($a->alias, $b->alias);
}

$arr = ...;

usort($arr, 'my_comparison');
8
ответ дан 10 December 2019 в 00:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: