程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 實用函數,php函數

php 實用函數,php函數

編輯:關於PHP編程

php 實用函數,php函數


第一次隨筆,寫一些自己工作當中比較實用的函數吧。

數組函數:

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

  未完待續!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved