Home  >  Article  >  Backend Development  >  Detailed explanation of the usage of PHP detection interface Traversable

Detailed explanation of the usage of PHP detection interface Traversable

jacklove
jackloveOriginal
2018-07-04 17:46:421542browse

This article mainly introduces the usage of the PHP detection interface Traversable, and analyzes the relevant operating skills of the Traversable interface detection traversal function in the form of examples. Friends in need can refer to the following

The examples in this article describe the PHP detection interface Traversable usage. Share it with everyone for your reference, the details are as follows:

Traversable is used to detect whether a class can be traversed using foreach. This is an internal engine interface that cannot be implemented in PHP scripts. In fact, In programming, we use the Iterator interface or IteratorAggregate interface to implement traversal.

Interface summary:

Traversable {
}

An important use of Traversable is to determine whether a class can be traversed. The following is the official Example:

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

It should be noted that arrays and objects can be traversed through foreach, but they do not implement the Traversable interface, so they are not Traversable Example:

<?php
$array=[1,2,3];
$obj = (object) $array;
var_dump($array instanceof \Traversable);
var_dump($obj instanceof \Traversable);
?>

Output of the above code:

boolean false
boolean false

Additional instructions:

When a class does not implement the Iterator interface or the IteratorAggregate interface, executing a foreach traversal will output all the visible properties it can access

Articles you may be interested in:

PHP custom serialization interface Serializable usage analysis and explanation

Detailed explanation of how to use PHP’s Opcache acceleration

How to use Laravel to generate Gravatar avatar address

The above is the detailed content of Detailed explanation of the usage of PHP detection interface Traversable. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn