for あれこれ
JavaScript の for ( i in array ) は i が添字だと。うーん、ちょっと書き出してみよう。
言語 | 書き方 | i にくる値 |
JavaScript | for ( i in array ) | 添字 |
awk | for ( i in array ) | 添字 |
sh | for i in array っちゅーか list? | 要素 |
Ruby | for i in array | 要素 |
Perl | foreach $i ( @array ) | 要素 |
PHP | foreach( $array as $key => $value ) | 添字も要素もどっちも |
Ruby は for も each も書き方が違うだけっぽいですが、for は awk 方式、each が shell 方式でもよかったかなとか勝手なことを思ったりした。
PHP 4 以降の foreach は要素を取り出すのと添字と要素の組み合わせを取り出すのと、両方の書き方
foreach(array_expression as $value) 文
foreach(array_expression as $key => $value) 文
が可能なんだけど、これ結構邪魔くさい。foreach ってのが長いくせに as とか => とか妙にタイプ量を上げるトラップが仕組まれてる。まぁ PHP 3 で使っていた
while ( list( $key, $value ) = each( $array ) )
よりはマシなんだけど。