array_multisort($name,SORT_ASC,$age,SORT_DESC,$arr);這句話只有$name有效,$age沒有起效,那是否寫上$age就顯得多餘了呢?
經過多次反覆調試發現array_multisort函數的$arr參數所起到的作用相當於一種把前面參數所做的排序改變追加到$arr本體數組當中去,因為array_multisort函數是傳值調用,前面的排序操作就是對副本的操作,$arr參數相當於一種再次賦值,保證了本體的改變。但也不能完全當成是再賦值操作,因為,當改變這個$arr參數為一個新的數組$newArr參數的時候系統會報錯,由此可見,$arr參數所起到的作用類似於再賦值操作但又不是。
不會顯得多餘。 $name數組和$age數組是從二維數組$arr數組分離出來的,如果只使用sort()或者asort()函數對$name數組排序的話,改變的只是$name數組元素的順序($name數組只是$arr數組裡一部分的副本,副本的改變不會引起本體的改變),並不會引起原先的二維數組$arr的變化。所以如果是對多維數組進行排序,應該使用array_multisort函數,array_multisort() 可以用來一次對多個數組進行排序,或者根據某一維或多維對多維數組進行排序。本例則是第二種依據某一維來對多維數組進行排序,array_multisort($name, SORT_ASC,$age,SORT_DESC,$arr)實現了對name屬性列的排序,age屬性列則會跟著做對應的排序。這樣來說其實也可以寫成array_multisort($name, SORT_ASC,$age,$arr),去掉SORT_DESC結果沒有變化,因為是沒有起到作用的,預設只對第一個陣列起作用,第二個會跟著第一個變化(當然這是針對多維數組的操作)。
是的,,,
你要覺得浪費你可以用asort排序啊
經過多次反覆調試發現array_multisort函數的$arr參數所起到的作用相當於一種把前面參數所做的排序改變追加到
$arr本體數組當中去,因為array_multisort函數是傳值調用,前面的排序操作就是對副本的操作,$arr參數相當於一種
再次賦值,保證了本體的改變。但也不能完全當成是再賦值操作,因為,當改變這個$arr參數為一個新的數組$newArr參數的時候
系統會報錯,由此可見,$arr參數所起到的作用類似於再賦值操作但又不是。
不會顯得多餘。 $name數組和$age數組是從二維數組$arr數組分離出來的,
如果只使用sort()或者asort()函數對$name數組排序的話,改變的只是$name數組元素的
順序($name數組只是$arr數組裡一部分的副本,副本的改變不會引起本體的改變),
並不會引起原先的二維數組$arr的變化。所以如果是對多維數組進行排序,應該使用array_multisort函數,
array_multisort() 可以用來一次對多個數組進行排序,或者根據某一維或多維對多維數組進行排序。本例則是第二種依據某一維來對
多維數組進行排序,array_multisort($name, SORT_ASC,$age,SORT_DESC,$arr)實現了對name屬性列的排序,age屬性列則
會跟著做對應的排序。這樣來說其實也可以寫成array_multisort($name, SORT_ASC,$age,$arr),去掉SORT_DESC結果沒有變化,因為是沒有起到作用的
,預設只對第一個陣列起作用,第二個會跟著第一個變化(當然這是針對多維數組的操作)。
是的,,,
你要覺得浪費你可以用asort排序啊
#array_multisort($name,SORT_ASC,$age,SORT_DESC,$arr);這句話只有$name有效,$age沒有起效,那是否寫上$age就顯得多餘了呢?
array_multisort($name,SORT_ASC,$age,SORT_DESC,$arr);這句話只有$name有效,$age沒有起效,那是否寫上$age就顯得多餘了呢?
array_multisort($name,SORT_ASC,$age,SORT_DESC,$arr);這句話只有$name有效,$age沒有起效,那是否寫上$age就顯得多餘了呢?
array_multisort($name,SORT_ASC,$age,SORT_DESC,$arr);這句話只有$name有效,$age沒有起效,那是否寫上$age就顯得多餘了呢?
array_multisort($name,SORT_ASC,$age,SORT_DESC,$arr);這句話只有$name有效,$age沒有起效,那是否寫上$age就顯得多餘了呢?
array_multisort($name,SORT_ASC,$age,SORT_DESC,$arr);這句話只有$name有效,$age沒有起效,那是否寫上$age就顯得多餘了呢?
array_multisort($name,SORT_ASC,$age,SORT_DESC,$arr);這句話只有$name有效,$age沒有起效,那是否寫上$age就顯得多餘了呢?