2017-06-11 10 views
0

2つの配列があり、2番目の配列をPHPの降順で並べ替えるように、最初の配列を昇順にソートします。 だから私はarray_multisort()関数を使用しました。最初の配列は期待通りにソートされますが、2番目の配列はソートされません。2番目の配列はarray_multisortで指定されているようにソートされていません。

以下はコードです。

<?php 
     $array1 = array("ninja","pirate","assasin","superhero"); 
     $array2 = array("elephant","panda","eagle","snake"); 
     echo "<pre>"; 
     echo "Array 1.) <br />"; 
     print_r($array1); 
     echo "<hr />Array 2.) <br />"; 
     print_r($array2); 
     array_multisort($array1,SORT_ASC,$array2,SORT_DESC); 
     echo "<hr/>New Sorted Array 1.) <br />"; 
     print_r($array1); 
     echo "<hr />"; 
     echo "New Sorted Array 2.) <br />"; 
     print_r($array2); 
     echo "</pre>"; 
    ?> 

私はPHPの初心者です。 質問があれば、以下のコメントをお寄せください。私は考えていない

答えて

1

それをシンプルに保つ...

array_multisort($array1, SORT_ASC, SORT_STRING); 
array_multisort($array2, SORT_DESC, SORT_STRING); 
1

あなたはどのようにarray_multisort作品を理解しています。マニュアルの最初の例を確認すると、最初にソートされた方法に基づいて2番目の配列が再配置されます。

あなたは、独立して、それらを並べ替えるsortrsortを使用したい場合は、次のように:

sort($array1); 
rsort($array2); 
+0

私はこの[W3Schoolsの]リンクhttps://www.w3schools.com/php/showphp.asp信頼できますか?ファイル名= demo_func_array_multisort4 –

+0

@RKうん、しかし、あなたは本当に出力を分析するのをやめましたか? 2番目の配列ではM→P→Fとなります。それはあなたに似ていますか?ここでも、最初の配列がソートされた方法に基づいています。実際に関連しているデータを含むマニュアル(例2)と、テーブルにあるデータなどの例を確認してください。編集:それについて考えると、ある列を並べ替える場合は、他の列の行が一致する必要があります。 Excelの2つの列を考えて、1つの列を並べ替えるが、2つ目の列に一致させたい – FirstOne

関連する問題