ホームページ >PHPフレームワーク >YII >yii オブジェクトを配列に変換するか、json 形式に直接出力する方法

yii オブジェクトを配列に変換するか、json 形式に直接出力する方法

王林
王林転載
2021-01-08 10:13:533586ブラウズ

yii オブジェクトを配列に変換するか、json 形式に直接出力する方法

配列に変換するにはどうすればよいですか?

(学習ビデオ共有: プログラミングビデオ)

Yii のアクティブ レコードを使用してクエリ結果を取得すると、返される結果セットはオブジェクト タイプです。データをより便利に処理したい場合は、次のメソッドのように、データを配列に変換して返すことができます:

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

結果を返すときは、$post->attributes; を使用するだけです。

FindAll 配列を返したい場合、どのように対処すればよいでしょうか?

2 つの方法があります:

1 つ目は、次のようにカスタム関数を使用することです

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

次に、関数を使用して結果を直接変換します

2 つ目は、非常に単純なメソッドです。

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

関数は、まず findAll の結果を JSON 形式に変換し、次にそれを配列に変換します。

findALL の変換については、 JOSN 形式。実際には

CJSON::encode

を使用しています。 関連する推奨事項: yii フレームワーク

以上がyii オブジェクトを配列に変換するか、json 形式に直接出力する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。