将Json数据返回到PHP变量

时间:2016-08-27 22:22:28

标签: php json

我知道这里有很多类似的问题,但我遇到的问题是设置其他json文件数组的方法与我的不一样。

我想要做的只是一个简单的过程,但由于我不是精通json数组而且我是其他东西,解决方案完全是我的目标。

我只想在本地json文件中显示数据,并为返回的每个项创建PHP变量。

json文件很简单,看起来像这样......

[
    {
        "titleOne": "Foo",
        "textOne": "Bar",
        "titleTwo": "Foo",
        "textTwo": "Bar"
    }
]

它总是只包含这4个项目。然后我使用以下PHP来读取和解码文件...

$data = file_get_contents ('./data.json');
$json = json_decode($data, true);
foreach ($json as $key => $value) {
    foreach ($value as $key => $val) {
            echo $key . '====>' . $val . '<br/>';
    }
}

但这只是输出数据。我试图让这4个项目中的每一个成为变量。实施例...

$titleOne
$textOne
$titleTwo
$textTwo

...以便可以在表格中使用变量。

我发现了很多类似的问题,但json数据总是设置不同,导致结果出错。

4 个答案:

答案 0 :(得分:3)

为什么不简单地定义它是否总是只有4:

$titleOne = $json[0]['titleOne'];
$textOne = $json[0]['textOne'];
$titleTwo = $json[0]['titleTwo'];
$textTwo = $json[0]['textTwo'];

答案 1 :(得分:3)

您可以使用list将元素提取到变量中。请记住,它只适用于数值数组。

FirebaseApp

答案 2 :(得分:0)

使用php,您不能使用变量来命名另一个变量。但是您可以使用关联数组来执行此操作。

true中的json_decode($data, true);已经以关联数组的形式返回数据。要访问titleOne的值,您只需执行$json['titleOne']。这会给你Foo

答案 3 :(得分:0)

使用php,您可以使用变量来命名另一个变量。 只需使用Variable variables

$a = 'var';
$$a = 'hello world';
echo $var;
// output : hello word

在你的情况下:

您不必将json数据包装在数组中并进行2次循环:

{
    "titleOne": "Foo",
    "textOne": "Bar",
    "titleTwo": "Foo",
    "textTwo": "Bar"
}

您可以这样创建动态变量:

$data = file_get_contents ('./data.json');
$json = json_decode($data, true);
foreach ($json as $key => $val) {
    $$key = $val;
}
echo $titleOne;
// output : Foo