我正在尝试使用一个paraeter为这个im创建一个php页面tp print json数据我需要从另一个url中获取json。我使用了其他stackoverflow ans中给出的代码但是它总是给0.我尝试了一切但它总是给0.我的PHP代码是:
<?php
if(isset($_POST['add']))
{
require_once('loginConnect.php');
$bookname=$_POST['bookname'];
$url = "http://example/star_avg.php?bookName=$bookname";
$json = file_get_contents($url);
$json_data = json_decode($json,TRUE);
echo 'data' + $json_data->results[0]->{'num'};
?>
我来自其他网址的json数据是:
{"result":[{"avg":"3.9","num":"3"}]}
答案 0 :(得分:7)
您看到0
已打印,因为您在字符串数据和不存在的属性之间执行了添加+
。在PHP中,要连接字符串,请不要使用+
;相反,使用点.
运算符
此外,因为你使用true
作为json_decode
的第二个参数,所以你得到的是一个数组数组。使用数组表示法[]
而不是对象表示法->
来访问成员。
$json_data = json_decode($json,TRUE);
$num = $json_data['result'][0]['num']; //<- array notation
echo 'data: '.$num; //prints data: 3