downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

Iterator> <Встроенные интерфейсы
[edit] Last updated: Fri, 17 May 2013

view this page in

Интерфейс Traversable

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Интерфейс, определяющий, является ли класс обходимым (traversable) используя foreach.

Абстрактный базовый интерфейс, который не может быть реализован сам по себе. Вместо этого он должен быть реализован используя IteratorAggregate или Iterator.

Замечание:

Внутренние (встроенные) классы, которые реализуют этот интерфейс, могут быть использованы в конструкции foreach и не обязаны реализовывать IteratorAggregate или Iterator.

Замечание:

Это внутренний интерфейс, который не может быть реализован в скрипте PHP. Вместо него нужно использовать либо IteratorAggregate, либо Iterator. При реализации интерфейса, наследующего от Traversable, убедитесь, что в секции implements перед его именем стоит IteratorAggregate или Iterator.

Обзор интерфейсов

Traversable {
}

Этот интерфейс не имеет методов, его единственная цель - быть базовым интерфейсом для всех обходимых классов.



add a note add a note User Contributed Notes Traversable - [1 notes]
up
11
kevinpeno at gmail dot com
2 years ago
While you cannot implement this interface, you can use it in your checks to determine if something is usable in for each. Here is what I use if I'm expecting something that must be iterable via foreach.

<?php
   
if( !is_array( $items ) && !$items instanceof Traversable )
       
//Throw exception here
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites