php 适用函数

WBOY
WBOYoriginal
2016-06-13 12:29:09973parcourir

php 实用函数

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

数组函数:

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

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

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

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

  列子:

    

    $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,代码简洁,调用系统函数提高效率

  列子:

    

    $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 --对多个数组或多维数组排序

  用法一:多维数组排序

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

  好处:

  列子:

          $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

  未完待续!

1楼曹亮
函数虽好,,但不具有普遍性,,不过平时用到的可以直接模拟此函数写一个。
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn