menu
書いてる野郎
orebike@gmail.com
おなじみ列挙のループ
$a = array(1, 2, 3); foreach($a as $b){ // $a の要素が順々に $b に入る echo $b; }
$a
のコレクションから要素が取り出されてて $b
に入る。この入れ方は明示的に書かなければ値渡しになる。
なので $b
が何か配列か何かが入れられたとすると $b
をforeach文の内部で変更しても $a
の中身になんの影響も無い
影響を $a
内部にも反映させたいならば、明示的に参照渡しにする。
foreach($a as &$b){ $b["hoge"] = "影響"; }
HTML の中に組み合わせて書く場合はブロックを強調するためにこのように書くとよいだろう
<?php foreach($a as $b): ?> <li><?= $b ?></li> <?php endforeach; ?>