首頁 > php框架 > YII > 主體

yii如何將物件轉換為陣列或直接輸出為json格式

王林
發布: 2022-10-08 17:08:27
轉載
3550 人瀏覽過

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
登入後複製

相關推薦:yii框架

以上是yii如何將物件轉換為陣列或直接輸出為json格式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板