key

関数の概要

PHPの key 関数は、配列の内部ポインタが現在指している要素のキーを取得するための関数です。配列をループ処理するときなどに、現在の位置のキーを知りたいときに便利です。

パラメータの説明

  • array:キーを取得したい配列を指定します。この引数は必須です。

戻り値

配列の現在位置が指すキーを返します。配列の内部ポインタが無効な場合(配列の先頭より前、または末尾より後の場合)は false を返します。

使用例

基本的な使い方

$arr = ['a' => 1, 'b' => 2, 'c' => 3];
echo key($arr);  // 出力: a

配列の最初の要素のキーが a であるため、それが返されます。内部ポインタは配列の最初の要素を指しています。

配列の中をループ処理しながらキーを取得する

$arr = ['x' => 10, 'y' => 20, 'z' => 30];

while (key($arr) !== null && key($arr) !== false) {
    echo "キー: " . key($arr) . ", 値: " . current($arr) . "n";
    next($arr);
}

keycurrentを組み合わせて、配列の現位置のキーと値を取得し、nextでポインタを次に進めています。ループで全要素を処理可能です。

配列ポインタを操作してキーを取得する例

$arr = ['apple' => 100, 'banana' => 200, 'cherry' => 300];

next($arr);  // ポインタを次の要素に進める
echo key($arr);  // 出力: banana

end($arr);   // ポインタを最後の要素に移動
echo key($arr);  // 出力: cherry

内部ポインタを操作することで、任意の位置のキーを取得できます。

関連する関数

  • current – 配列の内部ポインタが指す現在の値を取得
  • next – 配列の内部ポインタを次に進める
  • prev – 配列の内部ポインタを前に戻す
  • reset – 配列の内部ポインタを最初の要素に戻す
  • end – 配列の内部ポインタを最後の要素に移動
  • each – 配列の内部ポインタが指すキーと値を取得し、ポインタを進める(PHP 7.2以降は非推奨)

まとめ

key 関数は、配列の内部ポインタが指す位置のキーを簡単に取得できる便利な関数です。配列の繰り返し処理や、特定の位置の要素のキーを知りたいときに効果的に使えます。
内部ポインタを操作する関数と組み合わせれば、柔軟に配列を扱うことができるため、配列操作の基本として覚えておくと役立ちます。