Iterator::key
(PHP 5 >= 5.0.0, PHP 7)
Iterator::key — Возвращает ключ текущего элемента
Описание
abstract public scalar Iterator::key
( void
)
Возвращает ключ текущего элемента.
Список параметров
У этой функции нет параметров.
Возвращаемые значения
При успехе возвращает scalar, или же NULL
при неудаче.
Ошибки
Порождает E_NOTICE
при неудачном выполнении.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник языка
- Встроенные интерфейсы и классы
- Функция Iterator::current() - Возвращает текущий элемент
- Функция Iterator::key() - Возвращает ключ текущего элемента
- Функция Iterator::next() - Переходит к следующему элементу
- Функция Iterator::rewind() - Возвращает итератор на первый элемент
- Функция Iterator::valid() - Проверка корректности позиции
Коментарии
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;
}
Since PHP 5.5.X foreach can accept non scalar items. So the return can be anything ;)
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;
}
?>