PHP array_filter和array_merge的使用

$resource_child_list为数组即:如下(精简部分字段)

0=>array

'id'=>'ro1504237694PreO

format_code'=>string'WORD,PDF'

1=>array

'id'=>string'ro15042376942xhS

'format_code'=>string'WORD,PDF'

2=>array

'id'=>string'ro15042376949HLh

'format_code'=>string'ZIP''

。。。。。。。

在model里面中取值时可以order by format_code DESC也可以,但是由于需求需要order by两个字段,达不到想要的效果,所以用两个函数来解决,array_filter和array_merge

1.这个可以把zip类型的用到一个数组即:

$filtered_zip=array_filter($resource_child_list,function($item){

return$item['format_code'] =='ZIP';

});

var_dump($filtered_zip):

2=>array

'id'=>string'ro15042376949HLh

'format_code'=>string'ZIP''

2.这个可以把不是zip的独立成另外的数组

$filtered_other=array_filter($resource_child_list,function($item){

return$item['format_code'] !=='ZIP';

});

var_dump($filtered_other)如下

0=>array

'id'=>'ro1504237694PreO

format_code'=>string'WORD,PDF'

1=>array

'id'=>string'ro15042376942xhS

'format_code'=>string'WORD,PDF'

要ZIP的第一个显示,用这个函数array_merge,把zip的数组放在第一位

$resource_child_list=array_merge($filtered_zip,$filtered_other);

var_dump($resource_child_list);即为第一个显示

0=>array

'id'=>string'ro15042376949HLh

'format_code'=>string'ZIP''

1=>array

'id'=>'ro1504237694PreO

format_code'=>string'WORD,PDF'

2=>array

'id'=>string'ro15042376942xhS

'format_code'=>string'WORD,PDF'

由于数组的部分字段不需要,只显示了部分,如果有什么问题,可以留言或者加我的QQ:840799505,备注:简书,如果我做的到可以帮助,本人也是新入门的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,083评论 19 139
  • Correctness AdapterViewChildren Summary: AdapterViews can...
    MarcusMa阅读 8,938评论 0 6
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,788评论 0 33
  • 今天我拜猫为师, 我没学会爬树, 也没学会抓米老鼠, 我只学会了卖萌~
    青鹅阅读 151评论 0 2
  • 2017/6/21 从昨天晚上22:30开始,实在郁闷到没处说的我 ,开始了二次婶聊。 没有找观察员,因为我可是最...
    扶摇万事屋阅读 150评论 0 0