1

我正在尝试通过 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>

任何帮助表示赞赏。谢谢

4

1 回答 1

1

你没有设置它,所以它进入变量,而是被发送到输出流。

添加:

curl_setopt($s, CURLOPT_RETURNTRANSFER, 1);

在您调用之前curl_exec(),它会被放入您的变量中。请curl_setopt参阅CURLOPT_RETURNTRANSFER

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>
于 2013-04-14T01:11:11.147 回答