如何在json字符串中显示数组格式到数组

时间:2017-04-10 05:42:29

标签: php codeigniter

这里我有一个数组对象,在这个数组 galleryImages 是多个图像,所以我这样做,看下面我的代码

  

我的控制器

public function getGalley()
    {
        date_default_timezone_set('Asia/Kolkata');
        //$loginType = $_POST['loginType'];
         $loginType = 1;
            if($loginType == 1)
            {
                $data = array(
                 "school_id" => $_POST['schoolId'],
                ); 

                $response= $this->Android_login_model->android_get_gallery($data);
                foreach ($response as $key => $value)
                    {
                        $response[$key]["galleryImages"]=  json_decode($value["galleryImages"],true);
                    }
                    print_r(json_encode($response));


            }
    }
  

我的模特

public function android_get_gallery($params)
    { 
        $this->db->select('*');
        $this->db->where('status !=', '1');
        $this->db->where('school_id =',$params['school_id']);
        return $this->db->get('gallery')->result();
    }
  

在我的控制器 print_r($ response); 表示我得到这样的回答

Array
(
    [0] => stdClass Object
        (
            [gallery_id] => 1
            [title] => Title 1
            [description] => gfhfg
            [galleryImages] => ["6be1954c4bec91fe26fb7447fc551782.jpeg","153651d989591e76444c92cf037d5ac4.jpg"]
            [reg_on] => 2017-04-03 12:21:59
            [created_by] => soupranjali@gmail.com
            [school_id] => 2
            [status] => 0
        )

    [1] => stdClass Object
        (
            [gallery_id] => 2
            [title] => Title 2
            [description] => sdfdsfsdfsdfsdf
            [galleryImages] => ["f356ceafa408e61cd1c62cfc39752b32.jpeg","a4fd29005696d92e0fc4cd3931454609.jpg","8eaaecdac1ff219192806acba7978a1b.jpg"]
            [reg_on] => 2017-04-03 12:23:37
            [created_by] => soupranjali@gmail.com
            [school_id] => 2
            [status] => 0
        )

    [2] => stdClass Object
        (
            [gallery_id] => 3
            [title] => Sports Day
            [description] => dsfsdfsdfs
            [galleryImages] => ["1036f71f4781a6f6f59a4e3aeef35624.jpg","c8c330f7dee14f58a35ecd671e9a220c.jpg","b17503ff2da34a749425ce6ecd253e45.jpg","4f89417eb0e7b987728243051000a301.jpg"]
            [reg_on] => 2017-04-07 07:09:24
            [created_by] => kanniyappan@g2evolution.co.in
            [school_id] => 2
            [status] => 0
        )

)
  

我预期的json输出是

    [{"gallery_id":1,
"title":"Title 1",
"galleryImages":[{"6be1954c4bec91fe26fb7447fc551782.jpeg"},{"153651d989591e76444c92cf037d5ac4.jpg"}],
"reg_on":"2017-04-03 12:21:59",
"created_by":"soupranjali@gmail.com",
"school_id":2,"status":0
},

{
"gallery_id":2,
"title":"Title 2",
"galleryImages":[{
"f356ceafa408e61cd1c62cfc39752b32.jpeg"
},{"a4fd29005696d92e0fc4cd3931454609.jpg"},{"8eaaecdac1ff219192806acba7978a1b.jpg"}],
"reg_on":"2017-04-03 12:23:37",
"created_by":"soupranjali@gmail.com",
"school_id":2,"status":0
}
]

1 个答案:

答案 0 :(得分:2)

此处$responsearray of objects,因此要将其转换为所需格式,您必须先将其转换为数组数组,如:

$respArr = array();
foreach($response as $data)
{
    $respArr[] = $data;
}

之后使用json_encode()就像:

json_encode($respArr);