CakeFest 2024: The Official CakePHP Conference

Iterator::key

(PHP 5, PHP 7, PHP 8)

Iterator::key現在の要素のキーを返す

説明

public Iterator::key(): mixed

現在の要素のキーを返します。

パラメータ

この関数にはパラメータはありません。

戻り値

成功した場合にスカラー型、失敗した場合に null を返します。

エラー / 例外

失敗した場合に E_NOTICE を発行します。

add a note

User Contributed Notes 3 notes

up
10
michaelgranados at gmail dot com
10 years ago
Since PHP 5.5.X foreach can accept non scalar items. So the return can be anything ;)
up
-1
sofe2038 at gmail dot com
3 years ago
This function may return any type, not just scalar, for some Iterator types. In particular, it is very trivial to write a generator function that yields arbitrary keys:

<?php
function foo() {
yield
null => 1;
yield new
stdclass => 2;
}
?>
up
-2
Lszl Lajos Jnszky
12 years ago
And converts everything to integer except string, so in php the post process could be:

public function key() {
$yourKey = $this->createYourKey();
if (is_object($yourKey) || is_array($yourKey))
throw new Exception('Array and Object not allowed.');
elseif (is_string($yourKey))
return $yourKey;
else
return (int) $yourKey;
}
To Top