Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP解码奇怪的json提要_Php_Json_Curl_Foreach_Decode - Fatal编程技术网

PHP解码奇怪的json提要

PHP解码奇怪的json提要,php,json,curl,foreach,decode,Php,Json,Curl,Foreach,Decode,我有一个json提要,看起来像这样,我需要使用cURL进行解码 "count":836, "value":{ "title":"AW-rss", "description":"Pipes Output", "link":"http:\/\/pipes.yahoo.com\/pipes\/pipe.info?_id=566903fd393811762dc74aadc701badd", "pubDate":"Tue, 04 Sep 2012 16:33:30 +0000", "generator":

我有一个json提要,看起来像这样,我需要使用cURL进行解码

"count":836,
"value":{
"title":"AW-rss",
"description":"Pipes Output",
"link":"http:\/\/pipes.yahoo.com\/pipes\/pipe.info?_id=566903fd393811762dc74aadc701badd",
"pubDate":"Tue, 04 Sep 2012 16:33:30 +0000",
"generator":"http:\/\/pipes.yahoo.com\/pipes\/",
"callback":"",
"items":[
{
"title":"Title",
"description":"Description",
"link":"http://",
"category":"Category",
"pubDate":null,
"guid":"14917809",
"author":"Author",
"y:published":null,
"y:id":{
"permalink":"false",
"value":"14917809"
},
"y:title":"title"
},
//and then it continues like that with several more items.
这是我正在使用的代码,但我不能让foreach循环给我一些实质性的东西

$query = 'http://pipes.yahoo.com/pipes/pipe.run?_id=566903fd393811762dc74aadc701badd&_render=json';

    $ch = curl_init(); // open curl session

    // set curl options
    curl_setopt($ch, CURLOPT_URL, $query);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
    $result = curl_exec($ch); // execute curl session
    $data = json_decode($result);
    curl_close($ch); // close curl session



    **foreach($data['items'] as $item) {
        $guid['guid']}**
如您所见,我正在尝试获取提要中项目的guid。任何帮助都将不胜感激

var_dump($数据);给出:


以此类推。

json\u decode返回一个对象,因此需要将其与普通数组稍微区别对待

$data = json_decode($result);

$items = $data->{'value'}->{'items'};
$GUID = array();
foreach($items as $obj)
{
  $GUID[] = $obj->{'guid'};
}

var_dump($GUID);
我将注意到,json_decode方法可以将返回值转换为数组(json_decode($result,true)),如果这有帮助的话。像这样:

$data = json_decode($result,true);

$items = $data['value']['items'];
$GUID = array();
foreach($items as $obj)
{
  $GUID[] = $obj['title'];
}

var_dump($GUID);

$datas
不应该是
$data
$guid['guid']
行的意义是什么?是的,很抱歉这是一个打字错误。它是$data。$guid['guid']用于获取json中每个项的“guid”。但我要把它放在一个阵列里或者别的什么东西。问题是循环不起作用。。。我用var_dump($data)进行编辑。那不应该是
foreach($data['value']['items']作为$item)
?但是foreach($data['value']['items']作为$item){echo$item;}不会回显数组吗?整页都是错误的,我爱你。不,我爱上你了。我可以看出,这是一个愚蠢的问题,但我只是不能把我的头围绕在json提要上,它就像我的氪石。万分感谢!
$data = json_decode($result,true);

$items = $data['value']['items'];
$GUID = array();
foreach($items as $obj)
{
  $GUID[] = $obj['title'];
}

var_dump($GUID);