php之數組相關的函數處理,curl封裝

一,數組去重:

$array=([0] => 1  [1] => 2  [2] => 3   [3] => 4   [4] => 2   [5] => 1)

array_flip(array_flip($array)):

Array
(
    [5] => 1
    [4] => 2
    [2] => 3
    [3] => 4
)

array_unique($array):

Array

(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)

二種方法不同的是用array_flip得到的是重複元素最後的鍵和值,用array_unique得到的是二個重複元素第一個鍵和值

2,獲取到數組的array_values

$array = Array([a] => car  [b] => bus)

array_values($array)=Array([0] => car [1] => bus)

 

二,數組取指定的key:

$arr2 = array_column($arr, 'name'); 要求php版本>=5.5

 

三,把倒序數組

array_reverse($ranking_list,true);

如果第二個參數指定爲 true,則元素的鍵名保持不變,否則鍵名將丟失。

 

三,時間戳處理

$from = '2019-11-12'
$last_mon = date('Y-m-d',strtotime("$from -1 month")); 
//獲取日期的上一個月的時間$last_mon 爲2019-10-12
//注意必須用"",php ""可以讀取變量

四,curl處理 

    if (!function_exists('curl_post')) {

        function curl_post($url,$postData=[],$header=[],$toJson=True) {
            $ch = curl_init($url);
            curl_setopt($ch,CURLOPT_HEADER,0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //返回數據不直接輸出
            curl_setopt($ch, CURLOPT_ENCODING, "gzip"); //指定gzip壓縮
            //add header
            if(!empty($header)) {
                curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
            }
            //add ssl support
            if(substr($url, 0, 5) == 'https') {
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);    //SSL 報錯時使用
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);    //SSL 報錯時使用
            }
            //add 302 support
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
            //add post data support
            if(!empty($postData)) {
                curl_setopt($ch,CURLOPT_POST, 1);
                curl_setopt($ch,CURLOPT_POSTFIELDS, $postData);
            }
            $content = curl_exec($ch); //執行並存儲結果
            curl_close($ch);
            return $toJson ? json_decode($content,true) : $content;
        }
    }

    if (!function_exists('curl_get')) {

        function curl_get($url,$header=[],$toJson=TRUE) {
            $ch = curl_init($url);
            curl_setopt($ch,CURLOPT_HEADER,0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //返回數據不直接輸出
            curl_setopt($ch, CURLOPT_ENCODING, "gzip"); //指定gzip壓縮
            if(!empty($header)) {
                curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
            }
            if(substr($url, 0, 5) == 'https') {
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);    //SSL 報錯時使用
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);    //SSL 報錯時使用
            }
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
            $content = curl_exec($ch); //執行並存儲結果
            curl_close($ch);
            return $toJson ? json_decode($content,true) : $content;
        }
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章