0

我想从 php 函数(或直接从我的 BDD)创建一个 json 文件。

我有一个写在我的数据库 sql 中的 php 函数

这是我在我的数据库中写入的函数(它是 magento,但它有效):

$data = array('image'=>$my_upload->file_copy,'shopid'=>$customerid,'newsid'=>1);
$model = Mage::getModel('newsimagestable/newsimagestable')->setData($data);

Md 表 db_activity

shopid      newsid          imgid                    image
   7           1              1                     1.jpg
   7           1              2                     2.jpg
   7           1              3                     3.jpg

并且知道我使用此功能将其转换为 Json:

$actArray = array();
    $activityAll = Mage::helper(eventdemo)->getactivitytest(7); //get my table db_activity

        foreach ($activityAll as $data){                
            array_push($actArray, "images:".$data->getData('image'),"thumb:".$data->getData('image'));              
        };

    file_put_contents('data.json',  stripslashes(json_encode($actArray)));

而且我只能以这种格式获取 json 文件:

["images:1.jpg","thumb:1_m.jpg","images:2.jpg","thumb:2_m.jpg","images:3.jpg","thumb:3_m.jpg"]

但我想要这种格式(所以我认为是一个包含多个条目的数组):

[
{ "thumb": "image1_m.jpg", "image": "image1.jpg" },
{ "thumb": "image2_m.jpg", "image": "image2.jpg" }  ]

那可能吗 ?

谢谢

4

1 回答 1

2

代替

foreach ($activityAll as $data){                
            array_push($actArray, "images:".$data->getData('image'),"thumb:".$data->getData('image'));              
        };

你应该做

foreach ($activityAll as $data){                
            array_push($actArray, array("images" => $data->getData('image'), "thumb" => $data->getData('image')));              
        };
于 2013-01-31T15:36:15.180 回答