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