Почему 4 - первое значение в $ ar2?Я почти уверен, что 4 должно быть в конце отсортированного массива, поскольку он естественно сортируется как SORT_ASC.
<?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)
}