php foreachと配列と連想配列
2011/03/25
苦手なforeach()。配列と連想配列で()の中が微妙に違う。
配列とforeach() 1
for()で回せばいいじゃん…。まぁ、こっちも便利そうではある。
- <?php
- $str = array("aaa","bbb","ccc");
- foreach( $str as $val ){
- echo $val . "\n";
- // 「$val=$str[0];」とか「$val=$str[1];」と同じ。
- }
- ?>
■出力結果
aaa
bbb
ccc
連想配列とforeach()
ハッシュとか連想配列とか呼ばれているヤツら。
- <?php
- $str = array("NAME" => "aaa", "ADD1" => "bbb", "ADD2" => "ccc");
- foreach( $str as $key=>$val ){
- echo $key . " : " . $val . "\n";
- // 「$val=$str['NAME'];、$key='NAME';」とか「$val=$str['ADD1'];、$key='ADD1';」と同じ。
- }
- ?>
■出力結果
NAME : aaa
ADD1 : bbb
ADD2 : ccc
配列とforeach() 2
連想配列じゃないけど「=>」を使う。使いドコは不明。
- <?php
- $str = array("aaa","bbb","ccc");
- foreach( $str as $key=>$val ){
- echo $key . " : " . $val . "\n";
- // 「$val=$str[0];、$key=0;」とか「$val=$str[1];、$key=1;」と同じ。
- }
- ?>
■出力結果
0 : aaa
1 : bbb
2 : ccc