<?php
$fruits = [
"a" => "apple",
"b" => "banana",
"c" => "cherry"
];
// デフォルトのポインターは、最初の要素を指します
echo current($fruits); // 出力 apple
// ポインターを次の要素に移動します
next($fruits);
echo current($fruits); // 出力 banana
// ポインターをもう一度移動します
next($fruits);
echo current($fruits); // 出力 cherry
// もう一度呼び出された場合 next,範囲外のポインター
next($fruits);
var_dump(current($fruits)); // 出力 bool(false)
?>
この例では、 current()は、連想配列$ fruitsポインターによって指された要素値を読み取ります。
一般的に、配列を読み取るとき、 reset()を使用して配列の先頭にポインターを再配置するプロセスと組み合わせて、ゼロから読み取られ、 key()が現在の要素のキー名を取得できます。
<?php
$users = [
"id1" => "Alice",
"id2" => "Bob",
"id3" => "Charlie"
];
reset($users); // 最初の要素へのポインターをリセットします
echo key($users) . ": " . current($users) . "\n"; // 出力 id1: Alice
next($users);
echo key($users) . ": " . current($users) . "\n"; // 出力 id2: Bob
?>
このようにして、現在のポインターが指すキーと値をはっきりと知ることができます。
配列を通過する過程で、ポインターを変更せずに現在の値を複数回読み取る必要があります。
次の()とprev()を組み合わせて、カスタム配列トラバーサルロジックを実装します。
連想配列を処理するときは、 current()を使用して、現在の位置の値をすばやく読み取ります。
current()は、配列の現在のポインターによって指された要素の値を取得するために使用されます。
ポインターの位置は変更されません。
また、連想配列にも完全に機能します。
current()を使用すると、PHPアレイをより効率的に操作できます。