使用 PHP 循环 JSON 响应 [重复]
Posted
技术标签:
【中文标题】使用 PHP 循环 JSON 响应 [重复]【英文标题】:Loop through JSON response using PHP [duplicate] 【发布时间】:2018-11-27 02:50:53 【问题描述】:我正在通过 php cURL 发出 API 请求。
当我运行 echo $response
时,我得到以下 JSON:
JSON(应用程序/json):
"workers": [
"email": "micky@mcgurk.com",
"manager":
"email": "boss@mcgurk.com"
,
"email": "michelle@mcgurk.com",
"manager":
"email": "another_boss@mcgurk.com"
]
我想循环查看结果并回显电子邮件和相关经理。我该怎么做?
【问题讨论】:
【参考方案1】:使用PHP的函数json_decode()
<?php
$json = '
"workers": [
"email": "micky@mcgurk.com",
"manager":
"email": "boss@mcgurk.com"
,
"email": "michelle@mcgurk.com",
"manager":
"email": "another_boss@mcgurk.com"
]
';
$dec = json_decode($json);
$users = array();
if (! empty($dec->workers))
foreach ($dec->workers as $worker)
$user['email'] = $worker->email;
$user['manager_email'] = $worker->manager->email;
$users[] = $user;
echo '<pre>';print_r($users);echo '</pre>';
?>
输出:
Array
(
[0] => Array
(
[email] => micky@mcgurk.com
[manager_email] => boss@mcgurk.com
)
[1] => Array
(
[email] => michelle@mcgurk.com
[manager_email] => another_boss@mcgurk.com
)
)
现在,遍历$dec->workers
,您将获得所需的电子邮件地址。
【讨论】:
嗨@Pupil - 这太棒了!我正在寻找将这些插入到我的数据库中的表中。而不是print_r($dec->employees);
- 有没有办法循环遍历(foreach?)并输出一行中的每一行?
@michaelmcgurk,答案已更新。请验证。
非常感谢,学生。这非常有帮助。在这里也感谢您的耐心等待。我今天学到了很多:-)
@michaelmcgurk,没什么特别的。当我还是个新手时,人们帮助我学习。这就是我们成长的方式。 :)
不客气!【参考方案2】:
$data = json_decode($response, true);
【讨论】:
【参考方案3】:查看 json_decode() http://php.net/manual/en/function.json-decode.php
结果将是一个可以迭代的关联数组(或对象)
【讨论】:
太棒了,谢谢你,埃里克!以上是关于使用 PHP 循环 JSON 响应 [重复]的主要内容,如果未能解决你的问题,请参考以下文章