我正在尝试通过enjin API显示此JSON响应中的所有用户名列表,但我收到此错误:
警告:为foreach()提供的参数无效
代码
<?php
$s = curl_init();
curl_setopt($s, CURLOPT_URL, 'http://oceanix.enjin.com/api/get-users');
$output = curl_exec($s);
curl_close($s);
$decodedJson = json_decode($output);
?>
<table>
<tr>
<th>username</th>
</tr>
<?php
foreach ($decodedJson as $username) { ?>
<tr>
<td><?php echo $username->username; ?></td>
</tr>
<?php
}?>
</table>
感谢任何帮助。感谢
答案 0 :(得分:1)
你没有设置它以便它进入变量,而是被发送到输出流。
添加:
curl_setopt($s, CURLOPT_RETURNTRANSFER, 1);
在致电curl_exec()
之前,请将其放入您的变量中。有关CURLOPT_RETURNTRANSFER
的信息,请参见curl_setopt
:
TRUE,将传输作为curl_exec()返回值的字符串返回,而不是直接输出。
有效的完整代码:
<?php
$s = curl_init();
curl_setopt($s, CURLOPT_URL, 'http://oceanix.enjin.com/api/get-users');
curl_setopt($s, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($s);
curl_close($s);
$decodedJson = json_decode($output);
?>
<table>
<tr>
<th>username</th>
</tr>
<?php
foreach ($decodedJson as $username) { ?>
<tr>
<td><?php echo $username->username; ?></td>
</tr>
<?php
}?>
</table>