我有以下JSON:
"list": {
"list_id": "2kA",
"title": "Social Media",
"description": "Trending",
"image": [
"http://cdn.socialmediaexaminer.com/wp-content/uploads/2012/11/br-campaign-report.png?9d7bd4",
"http://cdn.socialmediaexaminer.com/wp-content/uploads/2012/11/br-campaign-report.png?9d7bd"
],
"views": 65
}
如何在图像数据库中存储图像数组的序列化版本?执行以下任何操作都会返回错误:
$images = $item->list->image;
$images = $item->list->image->[0];
$images = $item->list->['image'];
谢谢你们!
答案 0 :(得分:1)
您可以像这样访问您的图片:
foreach($item->list->image as $your_image) {
//do what you want
}
或使用像这样的关联数组
$x = json_decode('{"list": {
"list_id": "2kA",
"title": "Social Media",
"description": "Trending",
"image": [
"a",
"b"
],
"views": 65
}}', true);
foreach($x['list']['image'] as $your_image) {
//do what you want
}
将它保存到您的数据库使用json_encode(并转义),作为mysqli连接的示例
$query = 'INSERT INTO your_table (...)
VALUES (\''.mysqli_real_escape_string($dblink, json_encode($your_array)).'\')';
on select你可以使用json_decode!
答案 1 :(得分:1)
In your DB, data is in JSON, literally it means its a formatted string like:
"something here...."
You cannot access it by "->" as it is not an object.
So,
Convert your string(JSON) to Object to access like these:
$x['list']['image']
It can be achieved by json decoding your string which will convert your string to object
There was a bad error in code too. This one : $item->list->image->[0];
you cannot access an element of an array like this image->[0] --> it should be
$item->list->image[0]