Answer the question
In order to leave comments, you need to log in
PHP multidimensional array sorting. nested arrays. How to sort nested arrays by two parameters?
Good afternoon!
Help with sorting.
I have an array like:
Array
(
[SOME_RANDOM_INTEGER_VALUE_1] => Array
(
[ID] => SOME_RANDOM_INTEGER_VALUE_1
[SORTING_INFO_ALL_STARS] => Array
(
[0] => 2
[1] => 90
)
)
[SOME_RANDOM_INTEGER_VALUE_2] => Array
(
[ID] => SOME_RANDOM_INTEGER_VALUE_2
[SORTING_INFO_ALL_STARS] => Array
(
[0] => 2
[1] => 45
)
)
[SOME_RANDOM_INTEGER_VALUE_3] => Array
(
[ID] => SOME_RANDOM_INTEGER_VALUE_3
[SORTING_INFO_ALL_STARS] => Array
(
[0] => 3
[1] => 2
)
)
[SOME_RANDOM_INTEGER_VALUE_4] => Array
(
[ID] => SOME_RANDOM_INTEGER_VALUE_3
[SORTING_INFO_ALL_STARS] => Array
(
[0] => 3
[1] => 1
)
)
[SOME_RANDOM_INTEGER_VALUE_5] => Array
(
[ID] => SOME_RANDOM_INTEGER_VALUE_3
[SORTING_INFO_ALL_STARS] => Array
(
[0] => 1
[1] => 0
)
)
)
Array
(
[SOME_RANDOM_INTEGER_VALUE_3] => Array
(
[ID] => SOME_RANDOM_INTEGER_VALUE_3
[SORTING_INFO_ALL_STARS] => Array
(
[0] => 3
[1] => 2
)
)
[SOME_RANDOM_INTEGER_VALUE_4] => Array
(
[ID] => SOME_RANDOM_INTEGER_VALUE_3
[SORTING_INFO_ALL_STARS] => Array
(
[0] => 3
[1] => 1
)
)
[SOME_RANDOM_INTEGER_VALUE_1] => Array
(
[ID] => SOME_RANDOM_INTEGER_VALUE_1
[SORTING_INFO_ALL_STARS] => Array
(
[0] => 2
[1] => 90
)
)
[SOME_RANDOM_INTEGER_VALUE_2] => Array
(
[ID] => SOME_RANDOM_INTEGER_VALUE_2
[SORTING_INFO_ALL_STARS] => Array
(
[0] => 2
[1] => 45
)
)
[SOME_RANDOM_INTEGER_VALUE_5] => Array
(
[ID] => SOME_RANDOM_INTEGER_VALUE_3
[SORTING_INFO_ALL_STARS] => Array
(
[0] => 1
[1] => 0
)
)
)
Answer the question
In order to leave comments, you need to log in
Do I understand correctly that you need something like this?:
usort($array, function ($a, $b) {
return strcmp(
implode($a['SORTING_INFO_ALL_STARS']),
implode($b['SORTING_INFO_ALL_STARS'])
);
});
Yes, as I understand it, this is the optimal solution to the problem.
I'll work with the function that you wrote, and if possible, I'll throw off the working version here, in case someone else encounters the same problem
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question