php foreachと配列と連想配列

2011/03/25

苦手なforeach()。配列と連想配列で()の中が微妙に違う。

配列とforeach() 1

for()で回せばいいじゃん…。まぁ、こっちも便利そうではある。

  1. <?php
  2. $str = array("aaa","bbb","ccc");
  3. foreach( $str as $val ){
  4.  echo $val . "\n";
  5.  // 「$val=$str[0];」とか「$val=$str[1];」と同じ。
  6. }
  7. ?>

■出力結果
aaa
bbb
ccc

連想配列とforeach()

ハッシュとか連想配列とか呼ばれているヤツら。

  1. <?php
  2. $str = array("NAME" => "aaa", "ADD1" => "bbb", "ADD2" => "ccc");
  3. foreach( $str as $key=>$val ){
  4.  echo $key . " : " . $val . "\n";
  5.  // 「$val=$str['NAME'];、$key='NAME';」とか「$val=$str['ADD1'];、$key='ADD1';」と同じ。
  6. }
  7. ?>

■出力結果
NAME : aaa
ADD1 : bbb
ADD2 : ccc

配列とforeach() 2

連想配列じゃないけど「=>」を使う。使いドコは不明。

  1. <?php
  2. $str = array("aaa","bbb","ccc");
  3. foreach( $str as $key=>$val ){
  4.  echo $key . " : " . $val . "\n";
  5.  // 「$val=$str[0];、$key=0;」とか「$val=$str[1];、$key=1;」と同じ。
  6. }
  7. ?>

■出力結果
0 : aaa
1 : bbb
2 : ccc

参考:PHPリファレンス(foreach)
PHP 配列を回すならforかforeach

新着(ニュース関連以外)

2018-07-26
年賀状で「新春」とか書くけど・・・何故なんだろうと8月を目前にした今、疑問に思った。
2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい