PHPの配列に関して。


foreach文でパースしたxmlから抜き出した値を配列に格納していきます。

例)
//リクエストを送り帰ってきたxmlをパース
$parsed_xml = simplexml_load_string(-------);
$Items = $parsed_xml->Items;
foreach ($Items->Item as $item) {
$arr[] = array(
'aaa' => $item->Image,
'bbb' => $item->Name,
'ccc' => $item->Price
);
}
上記で仮に「$item->Name」が空(ない)場合に、代わりに「$item->Kana」を参照し格納したいのですがどのように記述すればよいかわかりません。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/07/17 22:21:37
  • 終了:2014/07/22 22:06:24

ベストアンサー

id:tezcello No.1

tezcello回答回数460ベストアンサー獲得回数692014/07/18 00:25:21

ポイント100pt

単純に考えるなら
> 'bbb' => $item->Name,
この部分を
'bbb' => empty($item->Name) ? $item->Kana : $item->Name,
のようにすれば、良いだろうと。

但し、Name の値が empty() で TRUE となってしまうものは「空」と判断されるので、状況に依っては厳密な判断が必要。

id:finnapple

回答ありがとうございました。
条件演算子というやつですね。勉強になりました。

2014/07/22 22:07:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません