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回まで
  • 登録:
  • 終了:2014/07/22 22:06:24
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:tezcello No.1

回答回数460ベストアンサー獲得回数69

ポイント100pt

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

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

id:finnapple

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

2014/07/22 22:07:27

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

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

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

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

回答リクエストを送信したユーザーはいません