пожалуйста, просмотрите следующий код с 2 массивами. Я использую функцию мультисортировки с флагами сортировки для возрастания и числового отображения. как вы можете видеть на выходе, массив 2 начинается с 100, когда он должен быть последним. пожалуйста, объясните, что является причиной этого и как правильно его отсортировать. благодарю вас.
<?php
$array1 = array(1,7,10,6);
$array2 = array(100,20,25,10);
array_multisort($array1, SORT_ASC, SORT_NUMERIC, $array2);
print_r($array1);
echo "<br>";
print_r($array2);
?>
output:
Array ( [0] => 1 [1] => 6 [2] => 7 [3] => 10 )
Array ( [0] => 100 [1] => 10 [2] => 20 [3] => 25 )
Ах, да, array_multisort немного сложнее понять с первого раза.
По сути, сортировка лексикографическая, причудливое слово, означающее, что первый массив отсортирован, а элементы второго массива упорядочены в соответствии с первым массивом.
Посмотрите на ваш первый (выходной) массив, посмотрите порядок и сопоставьте его с исходным вторым массивом, и вы увидите, что происходит.
Итак, во втором массиве вы берете 1-й, 4-й, 2-й и 3-й элементы.
Если вам нужна простая сортировка для нескольких массивов, просто выполните их один за другим или по циклу.
Других решений пока нет …