首頁 >php框架 >YII >yii如何將物件轉換為陣列或直接輸出為json格式

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

王林
王林轉載
2021-01-08 10:13:533589瀏覽

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刪除