我一直在尝试使用一些JSON数据来解决我的想法,但是当我尝试foreach
循环访问JSON时,它只返回所有数据的第一个字符,而不仅仅是我的测试中first_name
。
代码
<?php
$jsondata ='{"first_name":"John","last_name":"Doe","guest_link":"test test","id":"3"}';
$json = json_decode($jsondata, true);
?>
<?php foreach($json as $item) : ?>
<p>
<?php echo $item['first_name']; ?>
</p>
<?php endforeach; ?>
结果
J
D
t
3
如果我做var_dump
这就是我得到的:
string(4) "John"
string(3) "Doe"
string(9) "test test"
string(1) "3"
所以,我不确定我是否遗漏了某些东西,或者我是否只是以错误的方式解决这个问题。
答案 0 :(得分:3)
您的JSON字符串只有一个对象,没有嵌套对象或数组。
所以你必须以这种方式尝试:
$json = json_decode($jsondata, true);
echo $json['first_name'];
或以这种方式:
$json = json_decode($jsondata, true);
foreach( $json as $key => $item )
{
echo $item;
}