json_encode& json_decode和数组元素访问php

时间:2018-05-26 13:24:00

标签: php

我可能会问这个问题(1.作为一个新手& 2.由于我自己对真实情况的好奇心)。我的问题是基于是否从数据库中提取数据,这是推荐的方式,为什么?我见过其他开发人员使用第一个场景访问数组元素的代码,但我还没有看到json_encodejson_decode

$x = array("fname" => "John", "lname" => "Doe", "age" => 28);

第一种情况,访问元素说fname

$x = json_encode($x); // a
$x = json_decode($x); // b
echo $x->fname; // (c) outputs John

情景2

// comment a, b and c above
// to access the same element fname
echo $x['fname']; // outputs John

2 个答案:

答案 0 :(得分:1)

默认情况下,json_decode()函数返回一个对象。您可以选择指定第二个参数,该参数接受一个布尔值,当设置为true时,JSON对象将被解码为关联数组。默认情况下它是假的。

$x = array("fname" => "John", "lname"=> "Doe", "age" => 28);

$x = json_encode($x);
$x = json_decode($x, true);
echo $x->fname;
echo $x["fname"];

答案 1 :(得分:0)

所有东西都是开发的编程风格。 第一个场景显示代码更漂亮(OOP样式) 在第二个,简单,看起来不像“专业开发”的代码

但两者都严格相同