常用的PHP知识记录

  • 将数组或对象转换为json字符串
    json_encode();
    反之就是
    json_decode();

     

  • 除了$_REQUEST,$_GET,$_POST之外的一种数据流形式的获取网络请求数据的方式
    $requestData = file_get_contents("php://input");
    $echo($requestData);

     

  • 以某个标志为间隔,将字符串转为数组
    $arr=explode($flag,$string); //$flag可以为"|","/"等等
    $parm0 = $arr[0];
    $parm1 = $arr[1];
    ...

     

  • 将数组转换为 url-encoded 之后的请求字符串
    http_build_query($arr);
    //如 $arr = array(
    //    A => a,
    //    B => b,
    //);
    //转换得到 A=a&B=b

     

  • 获得支付验证sign算法
    /**
    * 签名生成算法
    * @param array $params API调用的请求参数(集合的关联数组,不包含sign参数, 从url得到关联数组时,$v必须是urldecode过的 )
    * @param string $secret 签名密钥
    * @return string 返回参数签名值
    */
    function getSignature($params, $secret){
        $str = ''; //待签名字符串
        //先将参数以其参数名的字典序升序进行排序
        ksort($params);
        //遍历排序后的参数数组中的每一个key/value对
        foreach ($params as $k => $v) {
            //为key/value对生成一个key=value格式的字符串,并拼接到待签名字符串后面
            $str .= "{$k}={$v}";
        }
        //将签名密钥拼接到签名字符串最后面
        $str .= $secret;
        //通过md5算法为签名字符串生成一个md5签名,该签名就是我们要追加的sign参数值
        return md5($str);
    }

     

posted @ 2018-04-11 18:14  Jierism  阅读(187)  评论(0编辑  收藏  举报