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

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

王林
リリース: 2022-10-08 17:08:27
転載
3589 人が閲覧しました

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート