如何从数据库对象和json_encode创建一个关联数组作为对象而不是数组?

时间:2015-07-03 07:03:50

标签: php arrays json yii

我是PHP的新手并使用Yii开发应用程序。我有一个数据库对象,我得到了所有表的记录。我想从该对象创建一个关联数组,然后在json_encode中编码该数组。但是,我想要的输出,即对象而不是数组,不会出现。任何人都可以帮忙,PLZ?
我的代码:

$info = array();
$category = Category::find()->all();
foreach($category as $key => $value) {
    $info[]=  array(
         "name" =>$value->name,
         "value" =>$value->description  
    ) ;
} 
echo json_encode($info,JSON_FORCE_OBJECT);

输出

{"0":{"name":"test","value":"A"},"1":{"name":"test 2","value":"B"}}  

期望输出

{"category":[{"name":"test","value":"A"},{"name":"test 2","value":"B"}]}

2 个答案:

答案 0 :(得分:2)

尝试使用它:

$info2['category']=$info;
echo json_encode($info2);

答案 1 :(得分:0)

在json_encode

之前使用array_values()
$info =  array_values($info);
echo json_encode($info,JSON_FORCE_OBJECT);