• [笔记]几个简单有用的PHP函数


    收藏几个简单的PHP函数,分别用于对象到数组转换、json到php数组转换功能、curl模拟POST以及根据链接获取内容。不直接使用json_decode()的原因是php json_decode()函数对xA312此类字符支持不好。

    1. 对象到数组转换

    function objToArr($obj){
        if(!is_object($obj) && !is_array($obj)) {
            return $obj;
        }
        $arr = array();
        foreach($obj as $k => $v){
            $arr[$k] = $this->objToArr($v);
        }
        return $arr;
    }

    2. json到php数组转换

    function simple_json_parser($json){
        $json = str_replace("{","",str_replace("}","", $json));
        $jsonValue = explode(",", $json);
        $arr = array();
        foreach($jsonValue as $v){
            $jValue = explode(":", $v);
            $arr[str_replace('"',"", $jValue[0])] = (str_replace('"', "", $jValue[1]));
        }
        return $arr;
    }

    3. curl 实现 GET / POST

    function oauth_http($method,$header,$url,$data){
        $method = $method ? $method : 'get';
        if( $method == 'get') {
            $ch = curl_init ();
            curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
            curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE );
            curl_setopt ( $ch, CURLOPT_URL, $url );
            $result = curl_exec ( $ch );
            curl_close ( $ch );
            return $result;
        } elseif ( $method == 'post' ) {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
            curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE );
            curl_setopt ( $ch, CURLOPT_POST, TRUE );
            curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
            curl_setopt ( $ch, CURLOPT_URL, $url );
            curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE);
            $ret = curl_exec ( $ch );
            curl_close ( $ch );
            return $ret;
        }
    }

    4. 获取链接内容(不存在file_get_contents() 时使用curl方法)

    function get_url_contents($url)
    {
        if (ini_get("allow_url_fopen") == "1")
            return file_get_contents($url);
     
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($ch, CURLOPT_URL, $url);
        $result =  curl_exec($ch);
        curl_close($ch);
     
        return $result;
    }
  • 相关阅读:
    redis学习笔记(三)——redis的命令大全总结
    redis学习笔记(二)——java中jedis的简单使用
    redis学习笔记(一)——windows下redis的安装与配置
    快速排序
    SpringMvc实现批量删除,使用post传值一直报404错误
    Bootstrap-table 显示行号
    选择排序
    冒泡排序
    org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [java.util.List]: Specified class
    Jquery Validate动态添加和删除校验规则
  • 原文地址:https://www.cnblogs.com/yhdsir/p/5111802.html
Copyright © 2020-2023  润新知