<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="[array_multisort usort]php二维数组排序方法" id="card1">
<p> 游客</p><p>
标题:[array_multisort usort]php二维数组排序方法<br/>
正文:<br/>
例如像下面的数组：代码如下:$users = array(    array('name' =&amp;gt; 'tom', 'age' =&amp;gt; 20)    , array('name' =&amp;gt; 'anny', 'age' =&amp;gt; 18)    , array('name' =&amp;gt; 'jack', 'age' =&amp;gt; 22));希望能按照age从小到大进行排序。笔者整理了两个方法出来，分享给大家。1、使用array_multisort使用这个方法，会比较麻烦些，要将age提取出来存储到一维数组里，然后按照age升序排列。具体代码如下：代码如下:$ages = array();foreach ($users as $user) {    $ages[] = $user['age'];}array_multisort($ages, SORT_ASC, $users);执行后，$users就是排序好的数组了，可以打印出来看看。如果需要先按年龄升序排列，再按照名称升序排列，方法同上，就是多提取一个名称数组出来，最后的排序方法这样调用：代码如下:array_multisort($ages, SORT_ASC, $names, SORT_ASC, $users);2、使用usort使用这个方法最大的好处就是可以自定义一些比较复杂的排序方法。例如按照名称的长度降序排列：代码如下:usort($users, function($a, $b) {            $al = strlen($a['name']);            $bl = strlen($b['name']);            if ($al == $bl)       &amp;<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=898&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=898&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=898&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=898&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=898">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=898">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>