Сортировать многомерный массив с двумя массивами внутри? - PullRequest
1 голос
/ 29 июня 2019

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

Array
(
    [0] => Array
        (
            [0] => 13.31421
            [1] => WP_Post Object (...)
        )
    [1] => Array
        (
            [0] => 4.213
            [1] => WP_Post Object (...)
        )
    [2] => Array
        (
            [0] => 144.314
            [1] => WP_Post Object (...)
        )
)

Я бы хотел отсортировать мой массив по номеру по индексу 0, который вы можете увидеть, например, по индексу: [0][0] = 13.31421.

Я уже пытался найти ответы на некоторые вопросы в Google, но решения действительно не сработали:

uasort($post_distance, function($a, $b) {
    return $a[0] - $b[0];
});

1 Ответ

1 голос
/ 29 июня 2019

попробуйте использовать функцию usort.

usort ( array &$array , callable $value_compare_func ) : bool

добавить этот метод в ваш код

function compare($a, $b)
{
    if ( $a[0] == $b[0] ) {
        return 0;
    }
    return ( $a[0] < $b[0] ) ? -1 : 1;
}

, затем просто вызовите функцию usort

usort($post_distance,"compare");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...