Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 从WikipediaAPI检索数组元素_Php_Arrays_Wikipedia Api - Fatal编程技术网

Php 从WikipediaAPI检索数组元素

Php 从WikipediaAPI检索数组元素,php,arrays,wikipedia-api,Php,Arrays,Wikipedia Api,我和这个问题的作者有着完全相同的问题:但是那里的答案对我不起作用 API请求: $searchQuery = str_replace(" ","+",$value); $url = 'https://en.wikipedia.org/w/api.php?action=query&prop=extracts|info&exintro&titles=' . $searchQuery . '&format=json&explaintext&redirec

我和这个问题的作者有着完全相同的问题:但是那里的答案对我不起作用

API请求:

$searchQuery = str_replace(" ","+",$value);
$url = 'https://en.wikipedia.org/w/api.php?action=query&prop=extracts|info&exintro&titles=' . $searchQuery . '&format=json&explaintext&redirects&inprop=url';
$scrape = file_get_contents($url);
方法1:

$data = json_decode($scrape, true);

$pageid = $data->query->pages[0];
echo $data->query->pages->$pageid->canonicalurl;
显示:

Notice: Trying to get property of non-object
Notice: Undefined offset: 0
方法2:

$data = json_decode($scrape, true);

$pageid = $data['query']['pages'][0];
echo $data['query']['pages'][$pageid]['canonicalurl'];
显示:

Notice: Trying to get property of non-object
Notice: Undefined offset: 0
当我将$pageid的值更改为3395,这是我试图检索数据的页面id时,一切都像预期的那样工作,因此我只在检索页面id时遇到问题

编辑: 打印$r数据返回:

您可以使用获取数组的第一个元素

$data = json_decode($scrape, true);
$page = reset($data['query']['pages']);
echo $page['canonicalurl'];