• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP 二维数组根据某个字段排序的具体实现_php技巧

php 搞代码 4年前 (2022-01-26) 33次浏览 已收录 0个评论

本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。

要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。

遇到这个要求的时候就不是 ORDER BY 能解决的问题了。因此翻看 PHP 手册查找到了如下方法,做此笔记。

废话少说,奉上代码,清单如下:

 <BR><?php <span>%本文来源gaodai#ma#com搞*代#码9网#</span><strong>搞gaodaima代码</strong><BR>/** <BR>* 二维数组根据某个字段排序 <BR>* 功能:按照用户的年龄倒序排序 <BR>* @author ruxing.li <BR>*/ <BR>header('Content-Type:text/html;Charset=utf-8'); <BR>$arrUsers = array( <BR>array( <BR>'id' => 1, <BR>'name' => '张三', <BR>'age' => 25, <BR>), <BR>array( <BR>'id' => 2, <BR>'name' => '李四', <BR>'age' => 23, <BR>), <BR>array( <BR>'id' => 3, <BR>'name' => '王五', <BR>'age' => 40, <BR>), <BR>array( <BR>'id' => 4, <BR>'name' => '赵六', <BR>'age' => 31, <BR>), <BR>array( <BR>'id' => 5, <BR>'name' => '黄七', <BR>'age' => 20, <BR>), <BR>); <br><br><BR>$sort = array( <BR>'direction' => 'SORT_DESC', //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序 <BR>'field' => 'age', //排序字段 <BR>); <BR>$arrSort = array(); <BR>foreach($arrUsers AS $uniqid => $row){ <BR>foreach($row AS $key=>$value){ <BR>$arrSort[$key][$uniqid] = $value; <BR>} <BR>} <BR>if($sort['direction']){ <BR>array_multisort($arrSort[$sort['field']], constant($sort['direction']), $arrUsers); <BR>} <br><br>var_dump($arrUsers); <br><br>/* <BR>输出结果: <br><br>array (size=5) <BR>0 => <BR>array (size=3) <BR>'id' => int 5 <BR>'name' => string '黄七' (length=6) <BR>'age' => int 20 <BR>1 => <BR>array (size=3) <BR>'id' => int 2 <BR>'name' => string '李四' (length=6) <BR>'age' => int 23 <BR>2 => <BR>array (size=3) <BR>'id' => int 1 <BR>'name' => string '张三' (length=6) <BR>'age' => int 25 <BR>3 => <BR>array (size=3) <BR>'id' => int 4 <BR>'name' => string '赵六' (length=6) <BR>'age' => int 31 <BR>4 => <BR>array (size=3) <BR>'id' => int 3 <BR>'name' => string '王五' (length=6) <BR>'age' => int 40 <br><br>*/ <BR>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP 二维数组根据某个字段排序的具体实现_php技巧
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址