API在数组中获取答案并在PHP中显示值

API在数组中获取答案并在PHP中显示值,php,arrays,json,Php,Arrays,Json,这似乎是一个新手的问题,但我只是把头撞在键盘上,我找不到任何能让我前进的答案 这是我的PHP: <?php header('Content-Type: text/plain; charset=utf-8;'); $url = file_get_contents("https://example.org/subdomain/api.php?t=t&q=maria"); print_r(json_decode($url)); ?> 如何提取和回显属性标题? 我尝试了这个但没

这似乎是一个新手的问题,但我只是把头撞在键盘上,我找不到任何能让我前进的答案

这是我的PHP:

<?php
header('Content-Type: text/plain; charset=utf-8;'); 
$url = file_get_contents("https://example.org/subdomain/api.php?t=t&q=maria");
print_r(json_decode($url));
?> 
如何提取和回显属性
标题

我尝试了这个但没有成功(错误500,空白页)


问题在于您试图访问对象属性,如数组:

array_push($answersArray,$jsonArray->data[$i]['title']);
应该是:

array_push($answersArray,$jsonArray->data[$i]->title);
要在以后输出标题,可以使用以下命令:

foreach($answersArray as $answer) {
    echo $answer;
}

问题是您试图访问对象属性(如数组):

array_push($answersArray,$jsonArray->data[$i]['title']);
应该是:

array_push($answersArray,$jsonArray->data[$i]->title);
要在以后输出标题,可以使用以下命令:

foreach($answersArray as $answer) {
    echo $answer;
}
基本步骤

  • 解码JSON
  • 获取“数据”属性处的数组
  • 迭代“数据”数组
  • 将每个“数据”项的标题属性加载到新数组中
代码示例:

<?php
header('Content-Type: text/plain; charset=utf-8;');

$url = 'https://example.org/subdomain/api.php?t=t&q=maria';
$json = file_get_contents($url);
$obj = json_decode($json);
$data = $obj->data; // get data array
$titles = array();

foreach ($data as $item) {
    $titles[] = $item->title;
}
print_r($titles);
?>

基本步骤

  • 解码JSON
  • 获取“数据”属性处的数组
  • 迭代“数据”数组
  • 将每个“数据”项的标题属性加载到新数组中
代码示例:

<?php
header('Content-Type: text/plain; charset=utf-8;');

$url = 'https://example.org/subdomain/api.php?t=t&q=maria';
$json = file_get_contents($url);
$obj = json_decode($json);
$data = $obj->data; // get data array
$titles = array();

foreach ($data as $item) {
    $titles[] = $item->title;
}
print_r($titles);
?>

您的错误在于使用了
json\u decode
函数。。。您需要指定
true
作为第二个参数来实际获取数组而不是对象


您的错误在于使用了
json\u decode
函数。。。您需要指定
true
作为第二个参数来实际获取数组而不是对象





1)您需要解码json数据2)只需在子数组中循环
数据
3)返回每个对象的属性标题:
$titles=array\u map(function($v){Return$v->title;},json\u decode($json)[“data”]
@Rizier123谢谢,我试过了,但仍然不起作用
$json=file\u get\u contents($url)$data=json_decode($json);foreach($key=>data$subarray){$titles=array_-map(函数($v){return$v->title;},json_-decode($json)[“data”]);}
只需使用上面没有foreach循环的代码。@Rizier123我尝试过,但我得到了500个内部服务器错误添加错误报告:
ini_集(“display_-errors”,1);错误报告(E_全部)在您的文件顶部显示,并告诉我们您是否有任何错误。检查您的错误日志并告诉我们您得到了什么。(还有:
echo PHP_VERSION;
?)1)您需要解码json数据2)只需在子数组
data
3)返回每个对象的属性标题:
$titles=array_map(function($v){Return$v->title;},json_decode($json)[“data”]
@Rizier123谢谢,我试过了,但仍然不起作用
$json=file\u get\u contents($url)$data=json_decode($json);foreach($key=>data$subarray){$titles=array_-map(函数($v){return$v->title;},json_-decode($json)[“data”]);}
只需使用上面没有foreach循环的代码。@Rizier123我尝试过,但我得到了500个内部服务器错误添加错误报告:
ini_集(“display_-errors”,1);错误报告(E_全部)在您的文件顶部显示,并告诉我们您是否有任何错误。检查您的错误日志并告诉我们您得到了什么。(还有:
echo PHP_VERSION;
?)的输出是什么?谢谢,没有更多的错误,但我无法回显…我如何仅显示每个
标题
?@Simone您要回显到哪里?您的代码仅显示您正在将每个标题存储在
$answersArray
中。你可以通过循环来回显每个标题。我尝试在循环之外回显
$answersArray
,但结果是单词“array”@Simone我添加了一个简单的示例来回显数组中的每个标题。没有显示数据,只有一个白色页面,从控制台我得到了
500服务器错误
…我用我的代码更新了问题谢谢没有更多的错误,但我无法回应…我怎么能只显示每个
标题
?@Simone你想回应哪里?您的代码仅显示您正在将每个标题存储在
$answersArray
中。你可以通过循环来回显每个标题。我尝试在循环之外回显
$answersArray
,但结果是单词“array”@Simone我添加了一个简单的示例来回显数组中的每个标题。没有显示任何数据,只有一个白页,从控制台我得到
500服务器错误
…我用我的codeHi更新了问题,我不知道为什么,但通过这个解决方案,我得到了500个内部服务器错误get 500(内部服务器错误)…prova.php:1谁投票支持这个?您不能使用中的
访问属性PHP@Rizier123对我来说,这是一个愚蠢的打字错误,最近我做了很多javascripting:)。现在已经纠正了。概念保持不变。谢谢,我刚刚使用了
echo内爆(',',$titles)
要在逗号分隔的列表中显示结果,我不知道为什么,但使用此解决方案,我会得到500个内部服务器错误get 500(内部服务器错误)…prova.php:1谁对此进行了投票?您不能使用中的
访问属性PHP@Rizier123对我来说,这是一个愚蠢的打字错误,最近我做了很多javascripting:)。现在已经纠正了。概念保持不变。谢谢,我刚刚使用了
echo内爆(',',$titles)
要在逗号分隔列表中显示结果,您的解决方案给我在页面中显示“NULL”一词,没有其他错误,输入错误,我刚刚修复了!你的解决方案给了我一个“空”字,显示在页面上,没有其他错误,输入错误,我刚刚修复了!只有代码的答案没有特别的帮助。请简要说明此代码是如何解决问题的。仅代码答案没有特别的帮助。请简要说明此代码如何解决此问题。