简体   繁体   English

存储位于对象内部的数组

[英]Store Array thats Located Inside Object

I have the following JSON: 我有以下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
        }

How can I store a serialized version of the image array in the database? 如何在数据库中存储图像数组的序列化版本? Doing any of the following returns an error: 执行以下任何操作都会返回错误:

$images = $item->list->image;
$images = $item->list->image->[0];
$images = $item->list->['image'];

Thanks guys! 多谢你们!

you can access to your images like this: 您可以像这样访问您的图片:

foreach($item->list->image as $your_image) {
    //do what you want
}

or use a associated array like this 或使用这样的关联数组

$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
}

to save it to your db use json_encode (and escape), as example of a mysqli connection 将它保存到您的数据库使用json_encode(和转义),作为mysqli连接的示例

$query = 'INSERT INTO your_table (...)
          VALUES (\''.mysqli_real_escape_string($dblink, json_encode($your_array)).'\')';

on select you can use json_decode! 在选择你可以使用json_decode!

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]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM