php之数组相关的函数处理,curl封装

本文介绍了PHP中数组去重的两种方法,包括array_flip结合array_flip的使用以及array_unique函数的应用。还讲解了如何获取数组的值,以及如何根据指定key获取数组元素。此外,还提及了数组倒序操作和时间戳处理,最后讨论了curl的使用。
摘要由CSDN通过智能技术生成

一,数组去重:

$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;
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值