«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как выполнить сортировку многомерных массивов по определенному ключу в PHP?

Как выполнить сортировку многомерных массивов по определенному ключу в PHP?

Опубликовано 8 ноября 2024 г.
Просматривать:534

How to Custom Sort Multidimensional Arrays Based on a Specific Key in PHP?

Пользовательская сортировка многомерных массивов

Сортировка многомерных массивов может быть распространенной задачей в программировании. В этой статье показано, как отсортировать такой массив на основе определенного ключа с помощью функции PHP usort().

Понимание задачи

Рассмотрим следующий многомерный массив, где каждый элемент представляет запись:

Array (
    [0] => Array
        (
            [iid] => 1
            [invitee] => 174
            [nid] => 324343
            [showtime] => 2010-05-09 15:15:00
            [location] => 13
            [status] => 1
            [created] => 2010-05-09 15:05:00
            [updated] => 2010-05-09 16:24:00
        )

    [1] => Array
        (
            [iid] => 1
            [invitee] => 220
            [nid] => 21232
            [showtime] => 2010-05-09 15:15:00
            [location] => 12
            [status] => 0
            [created] => 2010-05-10 18:11:00
            [updated] => 2010-05-10 18:11:00
        ))

Сортировка по ключу

Чтобы отсортировать этот массив по ключу «статус», нам нужно определить функцию сравнения, которая определяет порядок элементов.

function cmp($a, $b) {
    if ($a['status'] == $b['status']) {
        return 0;
    }
    return ($a['status'] 

Эта функция сравнивает значения «статуса» двух элементов. Если значения равны, он возвращает 0. Если первый элемент имеет более низкое значение «статуса», чем второй, он возвращает -1. В противном случае возвращается 1.

Использование usort()

Теперь мы можем использовать функцию usort() для сортировки массива с помощью нашей функции сравнения:

usort($array, "cmp");

Это позволит отсортировать массив в порядке возрастания на основе ключа "статус". Элементы измененного массива будут переупорядочены соответствующим образом.

Настройка сравнения

Функция сравнения может быть настроена для сортировки массива по любому ключу. Просто измените функцию, чтобы сравнить нужные значения ключей. Это обеспечивает гибкость при сортировке многомерных массивов по различным критериям.

Заявление о выпуске Эта статья перепечатана по адресу: 1729422140. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3