json值如何转换成数组?或者取得里面的值

1 由于php里的$_POST不能获取json值,所以用file_get_contents("php://input")方法获取。

2 获取后,得到值 :

title=ww&imgFile=%2Fpublic%2Fupload%2Fimage%2F20180712%2F20180712024544_27715.jpg

3 我想在值里 获取 imgFile = %2Fpublic%2Fupload%2Fimage%2F20180712%2F20180712024544_27715.jpg 里的值

4 PHP版本是5.5

如何获得?

阅读 2.5k
3 个回答

parse相关函数, 处理url parse_url(), 处理?后面带的数据 parse_str()


$url        = 'http://www.abc.com/?title=ww&imgFile=%2Fpublic%2Fupload%2Fimage%2F20180712%2F20180712024544_27715.jpg';
$urlArray   = parse_url($url);
print_r($urlArray);
parse_str($urlArray['query'], $paramList);
print_r($paramList);
exit;

结果

Array
(
    [scheme] => http
    [host] => www.abc.com
    [path] => /
    [query] => title=ww&imgFile=%2Fpublic%2Fupload%2Fimage%2F20180712%2F20180712024544_27715.jpg
)
Array
(
    [title] => ww
    [imgFile] => /public/upload/image/20180712/20180712024544_27715.jpg
)

用explode方法来处理字符串

explode('&' 'title=ww&imgFile=%2Fpublic%2Fupload%2Fimage%2F20180712%2F20180712024544_27715.jpg');

这里截图一下你发送数据的chrome控制台,如果你的数据是json的话,格式不应该是这样的,中间有&所以这里应该是post过来的

如果直接提交的是json的话,可以直接用json_decode('data',true)转成数组

推荐问题