这个函数应该是
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反向排序的二维数组。
Rain2018-07-18 13:12:31
经过多次反复调试发现array_multisort函数的$arr参数所起到的作用相当于一种把前面参数所做的排序改变追加到
$arr本体数组当中去,因为array_multisort函数是传值调用,前面的排序操作就是对副本的操作,$arr参数相当于一种
再次赋值,保证了本体的改变。但也不能完全当成是再赋值操作,因为,当改变这个$arr参数为一个新的数组$newArr参数的时候
系统会报错,由此可见,$arr参数所起到的作用类似于再赋值操作但又不是。