
No.3
- 回答日時:
ちょっとエスパー回答になりますが 「添え字がわかっているけどスマートな取り出し方が分からない」 という質問であると仮定します。
簡単に言えば、foreachで回さなくても 「->」 (アロー演算子) を使えば子要素へのアクセスは可能だということです。【返り値を json_decode($response, true) で処理している場合】
・すべての枝要素は数字添字配列または連想配列になります。 $v[0], $v['a'] のようにアクセスしてください。
・すべての葉要素の型情報は保持されたままPHPで扱えます。
・存在しないキーにアクセスした場合はNoticeが発生します。issetを使えば回避可能です。
【返り値を json_decode($response) で処理している場合】
・枝要素には数字添字配列配列とstdClassが混在します。$v[0], $v->a のようにアクセスしてください。
・すべての葉要素の型情報は保持されたままPHPで扱えます。
・存在しないキーにアクセスした場合はNoticeが発生します。issetを使えば回避可能です。
【返り値を SimpleXML で処理している場合】
・枝要素、葉要素ともすべてSimpleXMLElementオブジェクトになります。$v->a のようにアクセスしてください。
・属性には $v['a'] のようにアクセス出来ます。
・すべての葉要素を値として利用する際は、(String)を使って文字列にキャストしなければなりません。型情報は失われます。
・存在しないキーにアクセスした場合は空のSimpleXMLElement要素が返却されます。Noticeが発生するわけではないので注意してください。これもissetを使えば回避可能です。
この回答へのお礼
お礼日時:2014/10/05 15:01
回答ありがとうございました。
>「添え字がわかっているけどスマートな取り出し方が分からない」という質問であると仮定します
・今回の質問主旨ではないのですが、ここら辺も理解出来ていなかったので、参考になりましたー
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
$_SESSIONに二次元配列を使える...
-
ネストが深い時のforeachはどう...
-
配列をループでたくさん宣言し...
-
文字の先頭行を削除
-
smarty 同じ要素内で改行
-
String だと「 ByRef引数の型が...
-
PHP 配列の添字に変数は使えない?
-
PHPにてクラスを配列にすること...
-
Smartyのテンプレートからjavas...
-
配列一致(要素順番は違うが内容...
-
C言語でCSVファイルの行数を読...
-
プルダウンメニューにDBの内容...
-
verilogで、配列の一部をタスク...
-
行列
-
POSTで渡されるデータの数がわ...
-
読み(あ行~わ行)ごとに分け...
-
PHPで、CSVファイルを、指定し...
-
foreachで上限回数指定方法また...
-
cakephpでのトランザクション処...
-
【PHP】チェックボックスの必須...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
$_SESSIONに二次元配列を使える...
-
String だと「 ByRef引数の型が...
-
配列をループでたくさん宣言し...
-
file_existsでファイル名の部分...
-
配列一致(要素順番は違うが内容...
-
foreachで多次元配列にしたくな...
-
配列を回すとき、最後の要素だ...
-
正規表現についての質問
-
増える数字を配列に全て格納し...
-
MySQL接続・カテゴリわけ
-
CakePHPのfindの取得件数は?
-
すべての変数の値をリセットする
-
PHPで配列をPOSTデータで送った...
-
ネストが深い時のforeachはどう...
-
PHPにてクラスを配列にすること...
-
配列の値の更新方法について
-
foreachのなかで次のキーを参照...
-
【PHP】配列内のある値以上をカ...
-
配列に入っている数を調べる方...
-
array_push関数について
おすすめ情報