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

Как сортировать многомерные массивы по определенному ключу, используя usort и пользовательскую функцию сравнения?

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

How to Sort Multidimensional Arrays by a Specific Key Using usort and Custom Comparison Function?

Сортировка многомерных массивов по ключу

Распространенной задачей при работе с многомерными массивами является необходимость отсортировать их по определенному ключу. Например, рассмотрим следующий массив:

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

Чтобы отсортировать этот массив по ключу [status], вы можете использовать функцию usort вместе с пользовательской функцией сравнения:

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

Определяя функцию cmp, вы указываете, как следует сравнивать элементы во время сортировки. В этом случае он сравнивает ключ [status] двух элементов, возвращая -1, если $a['status'] меньше $b['status'], 0, если они равны, и 1 в противном случае.

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

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

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

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

Copyright© 2022 湘ICP备2022001581号-3