這個函數應該是
array_multisort(array1,sorting order,sorting type,array2,array3...)
所以先對$name排序,然後對$age排序,再對$arr排序。
最後回傳的結果用print_r($arr)表示,也就是只進行了$arr的排序。
並不是像老師說的那樣回到$arr。
array_multisort($name,SORT_ASC,$age,SORT_DESC);
這樣進行排序的結果,就是不保留原鍵值對應關係的排序,
print_r( $arr)在這種情況下的輸出是name正向排序,age反向排序的二維陣列。
經過多次反覆調試發現array_multisort函數的$arr參數所起到的作用相當於一種把前面參數所做的排序改變追加到
$arr本體數組當中去,因為array_multisort函數是傳值調用,前面的排序操作就是對副本的操作,$arr參數相當於一種
再次賦值,保證了本體的改變。但也不能完全當成是再賦值操作,因為,當改變這個$arr參數為一個新的數組$newArr參數的時候
系統會報錯,由此可見,$arr參數所起到的作用類似於再賦值操作但又不是。