PHP 前回のPHPは
配列とくりかえし
教科書p150
$numbers=[10,20,30,40,50];
echo $numbers[0];
echo $numbers[1];
...
と書くのはめんどい。
①1つにはfor文を使う。
for ($i=0; $i<5; $i++){
echo $numbers[$i];
}
ところでこれがうっかり $i<8 とミススペルしたとする
→これはエラーが出る
しかも引っ張ってくるデータが「いくつあるかわからない」ということもあり得るから、いくつ回せばいいかわからないということも出てくる。
②配列専用のforeach(){}というのを使う
フォーイーチ文
配列が存在しているときに使う
foreach(配列名 as $key => $value){
繰り返したい処理
}
という風に記述する
$keyというところは「任意の変数名」
『各要素のキーを代入するための』変数を決める
$valueというところは
各要素自体を入れるところの変数
その「要素のキー」と「要素の値自体」はどこにあるかというといわゆる「配列名」、すなわち$numbersになる。
ここで$numbers[0]とは記述しないので注意
すると「$numbersという配列の中に入っている要素の数だけ自動的に繰り返す」というのができる
何が便利かというと、
foreach($numbers as $key=>$value){
echo $key;
echo $value;
}
という記述ができるようになる。
これを回すと
①1こめのkeyと値が表示
②2こめのkeyと値が表示
みたいにできるらしい
さらに、
$numbers=[10,20,30,40,50];
$numbers[9]=60;
こういう飛んだ連番の配列があったとしても、ちゃんとまわして出力してくれる
配列名 as 変数名だけでもOK
as $key=> $value
という具合