php json_decode如何输出数组

标签 php json

这是我的 php 代码,带有 json 格式的字符串:

<?php

$string='{"items":  [
    {
    "address":"W 7th Ave"
    },
    {
    "address":"W 8th St"
    }
    ]}'; 

$json = json_decode($string, true);

    foreach ($json as $key => $value){
        echo "$key: $value\n";
    };

?>

我想学习如何将 json 字符串解析/输出为可以在 html 中显示或放入数据库的内容。但是我陷入了一些可能非常简单的问题,但我花了早上的大部分时间试图弄清楚出来。

我想了解的是为什么上面的代码结果给出了以下结果:

“项目:数组”

这不是我想要/期望得到的:

"items: W 7th Ave"
"items: W 8th St"

我错过了什么? “地址”不是数组中“项目”下方的下一个“级别”吗?

最佳答案

$string = file_get_contents('./string.json');
$json = json_decode($string);

如果你想拥有items: <address> :

foreach ($json['items'] as $address)
{
    echo "items:". $address['address'] ."\n";
};

无论如何,如果您不确定数组是如何构建的,您可以通过以下方式打印它:

print_r($json);

将打印:

Array
(
    [items] => Array
        (
            [0] => Array
                (
                    [address] => W 7th Ave
                )

            [1] => Array
                (
                    [address] => W 8th St
                )
        )
)

现在你发现$json仅包含两个数组的数组( items ),然后,如果循环它,您将得到示例中打印的数组。 如上所述,您需要通过循环 items 中的元素来更深入地进行一步。数组并打印它们的 address元素。

这是完整的脚本:http://pastie.org/2275879

关于php json_decode如何输出数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6833737/

相关文章:

python - 尝试从 DnDBeyond 下载 json 文件出现 403 错误

android - Espresso 测试时如何从 Asset 文件夹中读取 json 文件?

php - UTC 日期/时间字符串到时区

javascript - 如何根据内容类型在html格式之间切换?

javascript - 通过ajax使用下拉表单重新填充多个选择表单

java - 将 java 正则表达式 转换为 php 正则表达式

ios - 使用 ObjectMapper - 如何将 JSON 结果快速转换为 TableView

javascript - 如何在React状态下访问JSON对象?

php - $_SESSION 值始终为空

php - 通过反射访问 SplObjectStorage 数据