热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

yii如何将对象转化为数组或直接输出为json格式

yii框架:本文为大家介绍了yii将对象转化为数组或直接输出为json格式的方法,具有一定的参考价值,希望能够帮助到大家。

如何转化为数组?

(学习视频分享:编程视频)

我们在使用Yii 的Active Record 来获取查询结果的时候,返回的结果集是一个对象类型。如果我们希望能够更加方便地处理数据,可以将它转成数组返回,比如下面的方法:

// 查找满足指定条件的结果中的第一行
$post=Post::model()->find($condition,$params);
// 查找具有指定主键值的那一行
$post=Post::model()->findByPk($postID,$condition,$params);
// 查找具有指定属性值的行
$post=Post::model()->findByAttributes($attributes,$condition,$params);

返回一条结果的时候直接用 $post->attributes; 就可以了。

如果要返回FindAll数组呢,要怎么处理呢?

有两种方法:

第一种是使用自定义的函数,如下

/**
 * 简化findall数据
 * */
function simplifyData($data){
	foreach($data as $key=>$val){
		$newData[$key] = $val->attributes;
	}
	return $newData;
}

然后使用函数直接转换结果

第二种是使用很简单的方法:

$products = ProTuan::model()->findAll($criteria);
$products = json_decode(CJSON::encode($products),TRUE);

作用是就先将findAll结果先转成JSON格式,然后再转为数组

至于findALL转为JOSN格式其实就是使用

CJSON::encode


推荐阅读
author-avatar
牵绊2502897683
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有