foreach文で配列のキーのみを取得したい場合、まず以下のコードが真っ先に思いつく。

foreach($array as $key => $val) {
  // code...
}

しかしこれでは、$valを使わない処理の場合、無駄なコードが入っていることになり見た目上あまりよろしくない。

また、以下のようにしたところで、今度はキーを取得することができない。

foreach($array as $key) {
  // code...
}

array_keys関数を使ったスマートな書き方

正解はこちら。

foreach(array_keys($array) as $key) {
  // code...
}

array_keys関数を使う方法だ。

array_keysは引数に渡された連想配列のキーからなる配列を返す関数で、これをforeach文に渡すことでキーのみを取得してループを回すことができる。