网站首页 > 知识剖析 正文
function posturl($gateurl,$data){
$headers = array("Content-type: application/x-www-form-urlencoded", "'charset='utf-8'");
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$gateurl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch ,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch ,CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$res = curl_exec($ch);
curl_close($ch);
$result = json_decode($res, true);
return $result;
}
上面的代码块http_build_query:使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串,
当传送的value值里面有json_encode时,里面会被http_build_query转成实体,需要再转回来再json_decode;
本文主要为大家讲解了php在使用json_decode函数解码json字符串时,解码不成功返回NULL的问题原因分析和解决方法,感兴趣的同学参考下.
一般来说,php对json字符串解码使用json_decode()函数,第一个参数传字符串,第二个参数若为true,返回array;若为false,返回object。如果返回NULL,说明报错,输出json_last_error(),得到的整数值对应错误提示。如下图所示:
json_last_error()比较常见的是整数4, 是json字符串在json_decode之前已不完整,
用下面的方法可以实现正确解析
$data = stripslashes(html_entity_decode($info)); //$info是传递过来的json字符串
$data = json_decode($data,TRUE);
这时候$data就是解析后的数组了!
html_entity_decode() 函数的作用是把 HTML 实体转换为字符。
stripslashes() 函数的作用是删除反斜杠。
猜你喜欢
- 2024-12-29 自定义代码生成器(上) 如何自制代码
- 2024-12-29 网站安全防护怎么做? 网站安全怎么防御
- 2024-12-29 终于弄懂了dom型xss和反射型xss的区别
- 2024-12-29 CTF&爬虫:掌握这些特征,一秒识别密文加密方式
- 2024-12-29 DOM 操作之属性操作 dom操作元素属性
- 2024-12-29 【php学习笔记】php中htmlentities()方法使用笔记
- 2024-12-29 搜索专业化:必应提供计算机编码/解码器查询服务
- 2024-12-29 全网最细,各种特殊字符快捷键!花了7天7夜汇总,收藏不亏!
- 2024-12-29 常见编码总结 各种编码的含义
- 2024-12-29 零基础学习HTML图像热区特殊字符无序列表和有序定义列表表格
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)