我有一些像这样的数据库表。此表包含strings
和numbers
,但有些字段(类型:文本)包含[]
数组和{}
个对象(json)(空或非空)。
+------+----------+------+--------+--------+---------+-----------+
| name | lastName | type | delete | rights | records | documents |
+------+----------+------+--------+--------+---------+-----------+
| varch| varchar | int | int | text | text | text |
+------+----------+------+--------+--------+---------+-----------+
| An | Blabla | 0 | 0 | [] | {"a": 1}| {12: {}}|
+------+----------+------+--------+--------+---------+-----------+
| Bn | Blablab | 5 | 0 | [2,3] | {} | {} |
+------+----------+------+--------+--------+---------+-----------+
数据库请求:
$stmt = $this->db->prepare('select ' . USER_TABLE_FIELDS .' from users where
name = :name');
$stmt->execute(array(':name' => $name));
$result1 = $stmt->fetch(PDO::FETCH_ASSOC);
并且在var $ result1中我为所有字段设置了此$ key(string
)和$ value(string
)。
如何获取fileds rights
的结果作为数组,records
作为对象,documents
作为对象,而不是字符串?
我知道(object) $var
和(array) $var
,但可能还有更简单的方法,因为它将来可以是多层次的。