PHPのkey()関数とは?配列からキーを取得する方法をわかりやすく解説
PHPのkey()関数は、配列からキーを取得するための関数です。配列の内部ポインタが現在指している要素のキーを返します。通常の配列でも連想配列でも使用でき、配列操作の際に非常に便利な関数です。
基本構文
key(arr)
パラメータ
arr − キーを取得したい対象の配列を指定します。
戻り値
key()関数は、内部ポインタが指している配列要素のキーを返します。連想配列の場合は文字列のキーが、通常の配列の場合は数値のインデックスが返されます。
使用例1:基本的な使い方
以下は、key()関数の基本的な使用例です。
<?php
$arr = array("Electronics", "Footwear");
echo "現在の位置のキー = " . key($arr);
?>
出力結果
現在の位置のキー = 0
この例では、配列の内部ポインタは初期状態で最初の要素を指しているため、キー「0」が返されます。
使用例2:連想配列での使用
次に、連想配列と組み合わせた実践的な例を見てみましょう。
<?php
$arr = array(
'one' => 'tim',
'two' => 'peter',
'three' => 'david');
while ($val = current($arr)) {
if ($val == 'peter') {
echo key($arr);
}
next($arr);
}
?>
出力結果
two
この例では、current()関数で現在の要素の値を取得しながら、next()関数で内部ポインタを次の要素へ進めています。値が「peter」の要素に到達したとき、key()関数によってそのキー「two」が出力されます。
関連する配列操作関数
key()関数と合わせて覚えておくと便利な、内部ポインタを操作する関数を紹介します。
current() − 内部ポインタが指す現在の要素の値を取得します。
next() − 内部ポインタを次の要素に進めます。
prev() − 内部ポインタを前の要素に戻します。
reset() − 内部ポインタを配列の先頭要素に戻します。
end() − 内部ポインタを配列の最後の要素に移動します。
まとめ
key()関数は、配列の内部ポインタが指す要素のキーを取得する、シンプルながら強力な関数です。current()やnext()などの関数と組み合わせることで、配列を柔軟に走査できます。連想配列のキーを動的に取得したい場合などに、ぜひ活用してみてください。
-
PHPのarray_walk_recursive()関数の使い方を徹底解説
array_walk_recursive()関数は、ユーザー定義関数を配列のすべての要素に対して再帰的に適用するための組み込み関数です。多次元配列の各要素(リーフノード)に関数を処理させたい場合に非常に便利です。 構文 array_walk_recursive(arr, custom_func, parameter) パラメータ arr − 処理の対象となる配列を指定します。必須です。 custom_func − 各要素に適用するユーザー定義関数を指定します。必須です。コールバック関数には通常、「値」と「キー」がこの順で引数として渡されます。 parameter − カスタム関数に追加で渡す
-
PHPのarray_key_exists()関数とは?使い方とサンプルコードを解説
PHPのarray_key_exists()関数は、指定したキーが配列内に存在するかどうかをチェックするための関数です。キーが存在する場合は true を返し、存在しない場合は false を返します。基本構文array_key_exists(key, arr)パラメータkey − 存在を確認したいキーを指定します。文字列や整数など、配列のキーとして有効な値を指定できます。arr − キーを検索する対象となる配列を指定します。戻り値array_key_exists()関数は、指定したキーが配列内に存在すれば true を、存在しなければ false を返します。使用例以下の例では、連想配列の中