ここから本文です

解決済みの質問

知恵コレに追加する

foreach文の文法で質問があります。

atook620さん

foreach文の文法で質問があります。

例)

foreach ($data as $city)
{
print "<tr>";
foreach ($city as $value)
{
print "<td>{$value}</td>";
}
print "</tr>";
}
のforeach ($data as $city)の「as」ってどういう意味ですか?

今まで
foreach($stock as $name => $value)

このような書き方だったため、いまいち新文法の意味が分かりません。

宜しくお願いします。

  • アバター

違反報告

ベストアンサーに選ばれた回答

spaidaisakusenさん

asは直訳すると、「(仮に)~として」とか「~と見立てて」と言う意味。
プログラミングでもそのままの意味です。

foreach ($data as $city)

の場合は、$dataという配列の要素を添字の若い方から順(ハッシュで無ければ)に処理します。
つまりそれぞれの要素を暫定的に$cityという変数で扱いますよ、という意味ですね

質問者さんの例でいくと、foreachの中にさらにforeachでループしてますから、
配列$dataの要素にさらに配列が入っている多次元配列ということになります。

最初のforeach内では、要素を$cityという変数で扱い、さらにその$cityの要素を$valueという変数で、
暫定的に処理しています。

変数名は暫定でも、処理は要素ひとつひとつに対して実行されます

  • アバター

質問した人からのコメント

  • 自己解決しました。
  • コメント日時:2009/8/4 13:55:02

アバター

この質問・回答は役に立ちましたか?
はい
いいえ

お役立ち度:お役立ち度 0点(5点満点中)0人中 0人が役に立つと評価しています。

ベストアンサー以外の回答

1件中11件)

 

meigorrさん

最初のforeach ($data as $city)では、
配列 $cityの要素を1つずつ変数$data に代入し{ }内の処理を行います
質問の例は、配列内に要素として配列があるので入れ子になっているだけです。
下記を参照して下さい
http://nyx.pu1.net/reference/control/foreach.html

  • アバター

あなたにおすすめの解決済みの質問

プルダウンを表示せず、最初から指定の数字を表示する方法を教えてください ショッピングカートで1点もの商品のみを販売するために、数量を選ぶプルダウンや入力フォームの必要がないので最初から"1"と設定したいのですが、この...
Warning: Invalid argument supplied for foreach() ご質問させていただきます。 テストサーバでは問題なく動いていたのですが サーバを変更すると下記のエラーが出てきます。 「Warning: Invalid argument supplied for foreach...
コンテンツ作成で、CGIでプルダウンメニューを作成しました。 しかし、うまくいきません(泣) どなたか詳しい方ご教授お願いします。 HTMLは <FORM ACTION="jump.cgi"> <SELECT NAME="jumpto"> <OPTION VALUE="-" SELECTED>北日...