pos

関数の概要

PHPには配列の現在の位置(ポインタ)が指し示す要素のキーを取得するための関数として key() があります。ここで「pos」というのは、配列の内部ポインタの現在位置(ポジション)を指すことが多く、実際に配列の現在の要素を取得したい場合には「key()」や「current()」を使うのが一般的です。この記事では、特に key() 関数を中心に、配列の現在のキーを取得する方法について解説します。

パラメータの説明

  • array:現在のキーを取得したい配列を指定します。配列でなければなりません。

戻り値

key() 関数は、配列の内部ポインタが指している現在の要素のキーを返します。内部ポインタが配列の範囲外を指している場合は false を返します。

使用例

基本的な使い方

<?php
$array = ["apple", "banana", "cherry"];
echo key($array); // 0(最初の要素のキー)
?>

この例では、配列の最初の要素のキーである「0」が返されます。配列の内部ポインタは初期状態で最初の要素を指します。

配列の要素を順番に確認する

<?php
$array = ["first" => "apple", "second" => "banana", "third" => "cherry"];

echo key($array) . ": " . current($array) . "n"; // first: apple

next($array);
echo key($array) . ": " . current($array) . "n"; // second: banana

next($array);
echo key($array) . ": " . current($array) . "n"; // third: cherry
?>

next()関数で内部ポインタを次の要素に進めつつ、それぞれの現在のキーと値を取得しています。

内部ポインタの範囲外での動作確認

<?php
$array = [100 => "one hundred", 200 => "two hundred"];

end($array); // ポインタを最後に移動
echo key($array) . "n"; // 200

next($array); // ポインタを進める(範囲外へ)
var_dump(key($array)); // bool(false)
?>

この例は、ポインタが配列の最後を超えたとき、key()false を返すことを示しています。

関連する関数

  • current():内部ポインタが指す現在の値を取得する
  • next():内部ポインタを次の要素に進める
  • prev():内部ポインタを前の要素に戻す
  • reset():内部ポインタを最初の要素に戻す
  • end():内部ポインタを最後の要素に移動する

まとめ

PHPで配列の現在の要素のキー(ポジション)を取得したい場合は key() 関数が便利です。内部ポインタは配列の要素を順番に処理する際に利用され、next()prev() などと組み合わせて用います。配列の現在の値を得たい場合は current()、キーを得たい場合は key() を利用し、範囲外では false を返すことに注意しましょう。これらを理解すれば、配列の走査や特定の要素アクセスが効率的に行えます。