for あれこれ

for .. inの不思議

JavaScript の for ( i in array ) は i が添字だと。うーん、ちょっと書き出してみよう。

言語書き方i にくる値
JavaScriptfor ( i in array )添字
awkfor ( i in array )添字
shfor i in array っちゅーか list?要素
Rubyfor i in array要素
Perlforeach $i ( @array )要素
PHPforeach( $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 ) )

よりはマシなんだけど。

More