第一次随笔,写一些自己工作当中比较实用的函数吧。

数组函数:

1 array_column --返回数组当中指定的一列

  用法一:返回数组当中指定的一列

  应用场景:取出全班同学的id,去其他表查询这些同学的其他信息

  好处:减少查询数据库的次数(通过id一次性查出所有信息)

  列子:

    <?php

    $records = array(
        array(
            'id' => 2135,
            'first_name' => 'John',
            'last_name' => 'Doe',
        ),
        array(
            'id' => 3245,
            'first_name' => 'Sally',
            'last_name' => 'Smith',
        )
    );
 
    $first_names = array_column($records, 'id');
    print_r($first_names);

    //结果

    array('2135','3245');

    ?>

  用法二:用二维数组当中的id作为数组的key

  应用场景:通过array['id']取出数据

  好处:用array_column代替foreach将二维数组当中的id作为数组的key,代码简洁,调用系统函数提高效率

  列子:

    <?php

    $records = array(
        array(
            'id' => 2135,
            'first_name' => 'John',
            'last_name' => 'Doe',
        ),
        array(
            'id' => 3245,
            'first_name' => 'Sally',
            'last_name' => 'Smith',
        )
    );

    //使用foreach

    $records_key = array();

    foreach($records as $k => $v){

      $records_key[$v['id']] = $v;

    }

    print_r($first_names);
     //调用array_column
    $records_key = array_column($records, NULL,'id');
    print_r($first_names);

    ?>

    //结果

    Array(

      [2135] => Array(
        [id] => 2135
        [first_name] => John
        [last_name] => Doe
      )

      [3245] => Array(
        [id] => 3245
        [first_name] => Sally
        [last_name] => Smith
      )

    )

    

2 array_multisort --对多个数组或多维数组排序

  用法一:多维数组排序

  应用场景:将数据根据 价格 降序排序,根据 销量 升序排序

  好处:

  列子:

    <?php
      $data[] = array('price' => 67, 'sale_num' => 2);
      $data[] = array('price' => 86, 'sale_num' => 1);
      $data[] = array('price' => 85, 'sale_num' => 6);
      $data[] = array('price' => 98, 'sale_num' => 2);
      $data[] = array('price' => 86, 'sale_num' => 6);
      $data[] = array('price' => 67, 'sale_num' => 7);

      // 取得列的列表

      $price= array_column($data,'price');

      $sale_num= array_column($data,'sale_num');

      // 把 $data 做为最后一个参数,以通用键排序

      array_multisort($price, SORT_DESC, $sale_num, SORT_ASC, $data);
    ?>

    //结果 

     price | sale_num
    -------+--------
     98 | 2
     86 | 1
     86 | 6
     85 | 6
     67 | 2
     67 | 7

  未完待续!

php 实用函数的更多相关文章

  1. 你真的会玩SQL吗?实用函数方法汇总

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  2. 转:Delphi 6 实用函数

    来自: daocaoren0824, 时间: -- ::, ID: 再给你一份 程序员实用函数 {▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎} {▎ ▎} {▎ 大 ...

  3. 你真的会玩SQL吗?实用函数方汇总

    http://www.cnblogs.com/zhangs1986/p/4917800.html 实用函数方法 由于有些知识很少被用到,但真需要用时却忘记了又焦头烂额的到处找. 现在将这些‘冷门“却有 ...

  4. 分享PHP中的10个实用函数

    分享PHP中的10个实用函数 PHP的功能越来越强大,里面有着非常丰富的内置函数.资深的PHP程序员对它们可能都很熟悉,但很多参加PHP培训的PHP初学者,仍然对一些非常有用的函数不太熟悉.这篇文章里 ...

  5. ORACLE实用函数之一 ratio_to_report的简单使用

    应用场景: 查询学生成绩级别(ABCDE)个人数和所占百分比(案列简单,勿喷). 表结构: create or replace table stu_grade( id varchar2(36), le ...

  6. jQuery碎语(4) 实用函数

    6.实用函数 ● 修剪字符串 $('#id').val($.trim($('#someid').val())) ● 遍历集合 可能这样写: var anArray = ['one','two']; f ...

  7. python数据类型及有关的实用函数

    本系列例子使用python3.x, 编辑时间:2019-09-03,23:03:36 python以“对象引用”来存储数据,以对象来表达数据,每个对象都具有身份,对象和值. 实用函数: id(): 查 ...

  8. MinkowskiEngine实用函数和类

    MinkowskiEngine实用函数和类 sparse_quantize MinkowskiEngine.utils.sparse_quantize(coords, feats=None, labe ...

  9. MATLAB 实用函数

    MATLAB个人工具箱(MATLAB) mymail.m 可以利用MATLAB发送邮件(支持附件和群发),非常实用的函数,适用于:耗时很长的脚本完成后通知作者:外加定时器后用于信息推送:家庭监视器紧急 ...

随机推荐

  1. Computer Vision Algorithm Implementations

    Participate in Reproducible Research General Image Processing OpenCV (C/C++ code, BSD lic) Image man ...

  2. D - Silver Cow Party

    题目大意: 在一个农场里面所有的牛都会来参加大牛举办的派对,不过农场的路都是单向的,而且每头牛都喜欢都最短的路程,那么问题来了,求出来来回花费时间最多的那头牛所用的时间... //////////// ...

  3. mongoDb 给表添加+ 删除字段

    1 .添加一个字段.  url 代表表名 , 添加字段 content. 字符串类型. db.url.update({}, {$set: {content:""}}, {multi ...

  4. lucene4.0与之前版本的一些改变

    最近在用lucene4.0,因为之前也没用过lucene其它版本,所以也不是很熟悉.但每次上网查资料代码的时候,总发现网友们贴的代码都是之前的版本的.当我拷贝过来的时候总会出问题,去查API的时候,总 ...

  5. VS 制作安装包小窥

    难得忙里偷闲,看到有关VS制作安装包,按下文小试一把,还行,比不上Installshield. 首先在打开 VS2010    >   文件 >新建项目 创建一个安装项目  XXX 在“目 ...

  6. Android使用DOM生成和输出XML格式数据

    Android使用DOM生成和输出XML格式数据 本文主要简单解说怎样使用DOM生成和输出XML数据. 1. 生成和输出XML数据 代码及凝视例如以下: try { DocumentBuilderFa ...

  7. [Javascript] String method: endsWith() && startsWith()

    With endsWith && startsWith, you can easily find out whether the string ends or starts with ...

  8. [转] 使用CodeViz生成C/C++函数调用关系图

    运行环境:虚拟机下的Ubuntu 11.04 结合Graphviz工具,使用CodeViz可以生成直观和漂亮的C/C++程序函数之间的调用关系图. 1.安装graphviz 在安装CodeViz之前, ...

  9. Python之路,Day14 - It's time for Django

    Python之路,Day14 - It's time for Django   本节内容 Django流程介绍 Django url Django view Django models Django ...

  10. Asp,题目

    1. 简述 private. protected. public. internal 修饰符的访问权限.答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成员 ...