おすすめ記事ピックアップ
PHPの勉強して、今一つ理解が足りなかったのは foreach です。foreach は配列の格納数だけ自動で繰り返し処理を行ってくれる便利な文です。格納している配列の格納データとキーを取りだす処理が事例として紹介されます。使い方は2種類あります。一つは配列の格納データみ取りだす方法。もう一つは、キーも取りだす方法です。
配列データのみ取りだす方法こんな風に書きます。$dataに配列が入りforeachで書き出す処理です。$data配列の格納データを順番に$kakunouに移動して、echoで順次書き出す処理です。$dataの10・20・30・40というのが格納データです。それぞれにキーというタグやラベルのような設定もあります。指定していない場合は、自動で割り振られます。$dataで言えば10には0、20には1、30には2という感じです。
格納データとキーを取りだす方法はこんな感じです。 => を追加します。$kiee にはキーが、$kakunouには格納が入ります。 $kieeには0.1.2.3と、キー数が入ります。$kakunouには10.20.30.40と格納データが入ります。
僕が混乱したのが、「=>」です。つい矢印の方向で理解したことが間違いでした。例えば、このようになっていると、10が格納で、自動で入る0がキーです。
これを
こうすると追加されるので、10が格納で、Aがキーになると自然と考えていました。しかし実際は逆になりAが格納で、10がキーでした。=>に左側がキーで、右側が格納なんですね。
10を格納のままにするなら、こう記述します。
これと同じで、foreachの()の中も、左がキーで、右が格納ということが、理解できました。自分メモなので、伝わりにくい話ですね。どうでも良い話でした。
配列データのみ取りだす方法こんな風に書きます。$dataに配列が入りforeachで書き出す処理です。$data配列の格納データを順番に$kakunouに移動して、echoで順次書き出す処理です。$dataの10・20・30・40というのが格納データです。それぞれにキーというタグやラベルのような設定もあります。指定していない場合は、自動で割り振られます。$dataで言えば10には0、20には1、30には2という感じです。
<?php $data = array("10","20","30","40","50"); foreach( $data as $kakunou){ echo $kakunou."⇒格納が入っている"."<br>"; } ?>
格納データとキーを取りだす方法はこんな感じです。 => を追加します。$kiee にはキーが、$kakunouには格納が入ります。 $kieeには0.1.2.3と、キー数が入ります。$kakunouには10.20.30.40と格納データが入ります。
<?php echo "<br><br>"; $data = array("10","20","30","40","50"); foreach( $data as $kiee => $kakunou){ echo $kiee."⇒キーが入っている ".$kakunou."⇒格納が入っている <br>"; } ?>
僕が混乱したのが、「=>」です。つい矢印の方向で理解したことが間違いでした。例えば、このようになっていると、10が格納で、自動で入る0がキーです。
$data = array("10","20","30","40","50");
これを
$data = array("10"=>"A","20"=>"B","30"=>"C","40"=>"D","50"=>"E");
こうすると追加されるので、10が格納で、Aがキーになると自然と考えていました。しかし実際は逆になりAが格納で、10がキーでした。=>に左側がキーで、右側が格納なんですね。
10を格納のままにするなら、こう記述します。
$data = array("A"=>"10","B"=>"20","C"=>"30","D"=>"40","E"=>"50");
これと同じで、foreachの()の中も、左がキーで、右が格納ということが、理解できました。自分メモなので、伝わりにくい話ですね。どうでも良い話でした。