yii如何將對(duì)象轉(zhuǎn)化為數(shù)組或直接輸出為json格式

yii如何將對(duì)象轉(zhuǎn)化為數(shù)組或直接輸出為json格式

如何轉(zhuǎn)化為數(shù)組?

(學(xué)習(xí)視頻分享:編程視頻

我們?cè)谑褂?a href="http://www.babyishan.com/tag/yii">YII 的Active Record 來(lái)獲取查詢結(jié)果的時(shí)候,返回的結(jié)果集是一個(gè)對(duì)象類型。如果我們希望能夠更加方便地處理數(shù)據(jù),可以將它轉(zhuǎn)成數(shù)組返回,比如下面的方法:

//?查找滿足指定條件的結(jié)果中的第一行 $post=Post::model()->find($condition,$params); //?查找具有指定主鍵值的那一行 $post=Post::model()->findByPk($postID,$condition,$params); //?查找具有指定屬性值的行 $post=Post::model()->findByAttributes($attributes,$condition,$params);

返回一條結(jié)果的時(shí)候直接用 $post->attributes; 就可以了。

如果要返回FindAll數(shù)組呢,要怎么處理呢?

有兩種方法:

第一種是使用自定義的函數(shù),如下

/** ?*?簡(jiǎn)化findall數(shù)據(jù) ?*?*/ function?simplifyData($data){ 	foreach($data?as?$key=>$val){ 		$newData[$key]?=?$val->attributes; 	} 	return?$newData; }

然后使用函數(shù)直接轉(zhuǎn)換結(jié)果

第二種是使用很簡(jiǎn)單的方法:

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

作用是就先將findAll結(jié)果先轉(zhuǎn)成JSON格式,然后再轉(zhuǎn)為數(shù)組

至于findALL轉(zhuǎn)為JOSN格式其實(shí)就是使用

CJSON::encode

相關(guān)推薦:編程視頻

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊11 分享
站長(zhǎng)的頭像-小浪學(xué)習(xí)網(wǎng)月度會(huì)員