【发布时间】:2014-02-12 13:22:11
【问题描述】:
这是我从我的 SQL 选择中得到的。数据是正确的,现在我想通过foreach来回显。
Array ( [0] => stdClass Object ( [sql_column] => [{"1":"value1", "2":"value2", "3":"value3"}] ) )
我尝试过(但没有奏效)的是:
$obj = json_decode($arr);
foreach($obj as $data){
echo $data->sql_column->1; //this should echo "value1", but it doesn't
}
有人看到我的错误吗?提前致谢!
【问题讨论】:
-
首先,你不应该将 JSON 保存到 mysql 中。
-
@moonwave 为什么会这样?如果您谈到了一个序列化数组,它在包含特殊数据时可能包含特殊字符或
null字符,您可能是对的,但是一个 json 数组?解释一下! -
@FélixGagnon-Grenier 因为您使用 relational 数据库来获得标准化数据 - 如果您打算很好地存储 JSON 字符串,那么您最终会得到一个未标准化的模式 [即不可搜索,不可查询]。不同的是,如果你需要存储一点点数据,那是可以接受的。
-
@moonwave 我明白了。您说得对,它并不是要替代普通数据字段或表格,而是用于存储连接之间的会话变量,例如,它很有用。
标签: php sql arrays json foreach