关于array_multisort($name,SORT_ASC,$age,SORT_DESC,$arr);的问题;
太山遍雨河润千里
太山遍雨河润千里 2018-02-22 19:46:03
0
1
1558

这个函数应该是

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反向排序的二维数组。

太山遍雨河润千里
太山遍雨河润千里

全部回复(1)
Rain

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板