2016-05-30 25 views
1

2つのアレイと、次のコードをご覧ください。私は昇順と数値の表示のための並べ替えフラグを持つmultisort関数を使用します。あなたが出力で見ることができるように、配列2は最後になるべきときに100で始まります。これを引き起こしていることと正しくソートする方法を説明してください。ありがとうございました。PHP - array_multisort関数が正しくソートされないのはなぜですか?

<?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) 

答えて

1

はああ、はい、array_multisortは初めてのラウンドを理解することは少しトリッキーです。

基本的ソートは、第一の配列がソートされ、第2のアレイ素子は、第一の配列に従って順序付けられることを意味する空想単語辞書編集です。

あなたの最初の(出力)配列を見て、注文を確認し、最初の二番目の配列にマッピングして起こっていただきました!あなたはわかります。

ですから、第一、第四、第二と第三の要素を取る二番目の配列。

あなたは単なる複数の配列のソートしたい場合は、単に一つ一つまたはループの上にそれらを実行します。

関連する問題