在PDO获取数据后访问数组中的json对象

时间:2017-07-13 09:43:48

标签: php arrays json

我的数据库值为JSON。我希望将值分配给键,例如" name"。我怎样才能用PHP获得这些?

<?php

include('db.class.php');

$sql = "select * from users where 1";

$obj = new db();
$stmt = $obj->conn->prepare($sql);
$stmt->execute();

$res = $stmt->fetchAll(PDO::FETCH_ASSOC);

$json = json_encode($res,true);

echo $big = $json->name; // ??? ERROR

我的输出是

[
    {"id":"1",
    "name":"test1",
    "username":"abc",
    "email":"c@c.com",
    "phone":"333"
    },
    {"id":"2",
    "name":"test2",
    "username":"def",
    "email":"a@a.com",
    "phone":"23232"}
]

2 个答案:

答案 0 :(得分:2)

您无需使用{ "rootname" : { "key1" : [ "lbl1", "lbl2" ], "key2" : 10, "key4" : "hello" } } json_encode()是结果数组,您可以从中访问名称。

$res

请注意,echo $res[0]['name']; 的元素是关联数组,而不是对象,因为您使用$res

答案 1 :(得分:0)

首先解码jason数组,然后获取结果

$data= json_decode($json);

echo $data[0]->name; 

如果您需要有关jason_decode的更多信息,请阅读manual