とあるループ
<?php foreach($data as $key => $value) { echo $value; }
Netbeansを使っていますが、こういう時は$key
のところに黄色波線ができる。そして、「この変数は使ってないですよ。」って言われる。
黄色を残すのはよろしくないので、使わないのは削除してあげる。
<?php foreach($data as $value) { echo $value; }
ところが、$key
を使いたい場合はどうしましょう。foreach
は$value
の省略はできないので、さぁ困った。
そゆときはwhile
でやりましょう。
<?php while(current($data)) { echo key($data); next($data); }
current()
現在の値を取得する。key()
は現在の要素番号を取得、そしてnext()
はポインタを次へ進めてくれる。
こうすれば、値を省略し、必要であれば取得できるコードができる。
ちなみに、速度面はパフォーマンスは知らないのでよろしく(`・ω・)=3
2016/05/11 追記
たまたまPHPのマニュアルを見てたら
<?php var_dump($_SERVER); foreach ( array_keys($_SERVER) as $b ) { var_dump($b, filter_input(INPUT_SERVER, $b)); } echo '<hr>'; var_dump($_ENV); foreach ( array_keys($_ENV) as $b ) { var_dump($b, filter_input(INPUT_ENV, $b)); } ?>
おう、まじか。こういう書き方もできるんだね(というか少し考えてみたらそうだね...)