Сортировка многомерного массива(array_multisort)

zey_ser

Новичок
Добрый вечер! Не могу понять как эта сортировка работает. Смотрю пример на php.net:
PHP:
<?php
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);

var_dump($ar1);
var_dump($ar2);
?>
В вышеприведенном примере, после того, как будет осуществлена сортировка, первый массив будет содержать 0, 10, 100, 100. Второй - 4, 1, 2, 3. Элементы второго массива, соответствующие идентичным элементам первого (100 и 100), также будут отсортированы.
Код:
array(4) {
  [0]=> int(0)
  [1]=> int(10)
  [2]=> int(100)
  [3]=> int(100)
}
array(4) {
  [0]=> int(4)
  [1]=> int(1)
  [2]=> int(2)
  [3]=> int(3)
}
Объясните, почему второй массив отсортировался с четверкой в начале. Два этих массива должны сортироваться независимо или есть связь между первым и вторым(
Элементы второго массива, соответствующие идентичным элементам первого
)?
 

zey_ser

Новичок
Логика тут такая же, как в SQL ORDER BY a, b.
Не совсем понял. Если я правильно понимаю, то в SQL мы упорядочиваем в контексте основного массива по столбцам а, b. Сначала по a, затем по b. Как тогда это можно применить к 2 массивам из примера? Можете чуть подробней ответить?
 

Adelf

Administrator
Команда форума
@zey_ser, считай два массива значениями двух колонок из таблицы.
 

fixxxer

К.О.
Партнер клуба
@zey_ser,
PHP:
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
=>
Код:
a   | b
----+-----
10  | 1
100 | 3
100 | 2
0   | 4
так понятно?
 
Сверху