首页 >后端开发 >php教程 >array_multisort — 对多个数组或多维数组进行排序

array_multisort — 对多个数组或多维数组进行排序

WBOY
WBOY原创
2016-07-30 13:31:041136浏览

array_multisort — 对多个数组或多维数组进行排序 成功返回true 否则false

输入数组被当成一个表的列并以行来排序这类似于 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的大小来排序,依此类推。?
第一个参数必须是一个数组。接下来的每个参数可以是数组也可以是下面列出的排序标志。

排序顺序标志:

? SORT_ASC – 按照上升顺序排序

?SORT_DESC – 按照下降顺序排序

?排序类型标志:

SORT_REGULAR – 将项目按照通常方法比较

?SORT_NUMERIC – 将项目按照数值比较

?SORT_STRING – 将项目按照字符串比较

SORT_STRING 和 SORT_REGULAR 都是区分大小写字母的,大写字母会排在小写字母之前。 ?

?每个数组之后不能指定两个同类的排序标志。每个数组后指定的排序标志仅对该数组有效 – 在此之前为默认值 SORT_ASC 和 SORT_REGULAR。

//字符串键名的话将被保留,但是数字键将被重新索引,从 0 开始,并以 1 递增。

对二维数组排序 要求 ID降序 name升序?

<code><span>$arrData</span> =

[

[<span>'id'</span> => <span>1</span>, <span>'name'</span> => <span>'haha'</span>],

[<span>'id'</span> => <span>0</span>, <span>'name'</span> => <span>'aaha'</span>],

[<span>'id'</span> => <span>2</span>, <span>'name'</span> => <span>'caha'</span>],

[<span>'id'</span> => <span>4</span>, <span>'name'</span> => <span>'zaha'</span>],

[<span>'id'</span> => <span>16</span>, <span>'name'</span> => <span>'daha'</span>],

];
<span>/*
现在有了包含有行的数组,但是 array_multisort() 需要一个包含列的数组,因此用以下代码来取得列,然后排序。 ?
*/</span><span>foreach</span>(<span>$arrData</span><span>as</span><span>$key</span>=><span>$value</span>)

{?

<span>$id</span>[<span>$key</span>]=<span>$value</span>[<span>'id'</span>];

<span>$arr</span>[<span>$key</span>]=<span>$value</span>[<span>'name'</span>];

}

<span>// 把排序数组 $arrData 作为最后一个参数</span>?array_multisort(<span>$id</span>, SORT_DESC, <span>$arr</span>, SORT_ASC, <span>$arrData</span>);

print_r(<span>$arrData</span>);</code>

转载或分享请注明地址谢谢:http://blog.csdn.net/w19981220

版权声明:尊重他人的劳动成果就是尊重自己谢谢!!

以上就介绍了array_multisort — 对多个数组或多维数组进行排序,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn