如何在php中获取json fom url

时间:2016-08-30 03:19:44

标签: php json

我正在尝试使用一个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"}]}

1 个答案:

答案 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

Live demo