ホームページ >PHPフレームワーク >YII >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 サイトの他の関連記事を参照してください。