current

(PHP 4, PHP 5, PHP 7, PHP 8)

current配列内の現在の要素を返す

説明

current(array|object $array): mixed

各配列は、"カレント"の要素へのポインタを有しています。 このポインタは、配列に挿入された最初の要素を指すように初期化されます。

パラメータ

array

配列。

戻り値

current() 関数は、 単に内部ポインタが現在指している配列要素の値を返します。 この関数は、ポインタを全く移動しません。 内部ポインタが最終要素の次を指していたり 配列が空だったりした場合、 current()false を返します。

警告

この関数は論理値 false を返す可能性がありますが、false として評価される値を返す可能性もあります。 詳細については 論理値の セクションを参照してください。この関数の返り値を調べるには ===演算子 を 使用してください。

変更履歴

バージョン 説明
8.1.0 この関数を object に対してコールすることは、推奨されなくなりました。 object に対して最初に get_mangled_object_vars() を使うか、ArrayIterator を使って下さい。

例1 current() と類似関数の使用例

<?php
$transport 
= array('foot''bike''car''plane');
$mode current($transport); // $mode = 'foot';
$mode next($transport);    // $mode = 'bike';
$mode current($transport); // $mode = 'bike';
$mode prev($transport);    // $mode = 'foot';
$mode end($transport);     // $mode = 'plane';
$mode current($transport); // $mode = 'plane';

$arr = array();
var_dump(current($arr)); // bool(false)

$arr = array(array());
var_dump(current($arr)); // array(0) { }
?>

注意

注意: 配列の最終要素の次を指していた場合や、 空の配列に対して、current() を呼び出した時の結果は、 bool false 要素を指していた場合と区別できません。 false 要素を含む配列を順に処理するには、制御構文 foreach を参照して下さい。 それでも current() を使い、 値が本当に配列の要素であることを適切にチェックするには、 current() が指す要素の key() の値が、 厳密に null ではないことをチェックすべきです。

参考

  • end() - 配列の内部ポインタを最終要素にセットする
  • key() - 配列からキーを取り出す
  • each() - 配列から現在のキーと値のペアを返して、カーソルを進める
  • prev() - 内部の配列ポインタをひとつ前に戻す
  • reset() - 配列の内部ポインタを先頭の要素にセットする
  • next() - 配列の内部ポインタを進める
  • foreach

関連キーワード:  配列, 要素, ポインタ, 関数, 内部, array, 最終, foreach, 参照, チェック