わかると便利なforeach

あんまりにもあんまりなコードを書いていたので、少しは進歩している事をおしらせすべく、お絵かき掲示板交流サイトのトップページで使っているphpのソースの一部を…。

<?php
$arr = array();
foreach(glob('cgi/{foo,bar,baz}/index.html', GLOB_BRACE) as $filename) {
$arr[$filename] = $filename;
}
$i = 1;
foreach($arr as $key => $value){
var_dump($key);
if($i >= 3){break;}
$i++;
}
?>

よくわからないけれど動いていたもの。

foreachは配列の数だけループするのでもし3ならbreakという処理は必要ありませんでした。

globで配列に入れる必要もありませんでした。その配列を別の配列に入れる必要もありませんでした。

<?php
$arr=array('cgi/foo/index.html','cgi/bar/index.html','cgi/baz/index.html');
for($i = 0; $i <= 2; $i++){
$filename = $arr[$i];
var_dump($filename);
}
?>

foreachがよくわからなかったので、forで記述。
しかしやや煩雑なコード…。

<?php
$arr=array('cgi/foo/index.html','cgi/bar/index.html','cgi/baz/index.html');
foreach($arr as $filename){
var_dump($filename);
}
?>

foreachが便利な事がわかったので書き直し。
配列の数だけループ。

お絵かき掲示板はこちら。