最近开发新项目,因页面设计需要多次查询同一数据库,为了避免多次重复查询,故而将数据一次全部取出,利用计算机的计算资源根据数组中的不同值组合成新的数组。代码很简单。
首先我们看下数组中的内容:
在上图中我们看到有两个type等于“空调”的记录,所以下面的源码实现的就是根据“type”=>"空调"的记录提取出来组成新的数组。
源代码:
- <?php
- $arr=Array(
- Array('id' => 1,'type' => '空调'),
- Array('id' => 2,'type' => '电视机'),
- Array('id' => 3,'type' => '空调')
- );
- function filter($elem){
- return $elem['type'] == '空调';
- }
- $newarr = array_filter($arr,'filter');
- echo "<pre>";
- print_r($newarr);
- exit;
执行结果:
在系统开发中,数据库往往成为整体性能的瓶颈,虽然能够通过其他方式去解决,但是能减少一次查询就意味着为其他数据取用业务提升了一些性能。个人愚见。有不同意的也可以在评论区发表自己的观点。
Thinkphp中控制器的写法:
- $newarr = array_filter($arr,function ($item){
- return $item['type'] == '空调';
- });