Maison >développement back-end >tutoriel php >Explication détaillée de l'utilisation de l'interface de détection PHP Traversable
Cet article présente principalement l'utilisation de l'interface de détection PHP Traversable, et analyse les compétences opérationnelles pertinentes de la fonction de traversée de détection de l'interface Traversable sous forme d'exemples. Les amis dans le besoin peuvent s'y référer
Les exemples. dans cet article, décrivez l'utilisation de l'interface de détection PHP Traversable. Partagez-le avec tout le monde pour référence, comme suit :
Traversable est utilisé pour détecter si une classe peut être parcourue à l'aide de foreach Il s'agit d'une interface de moteur interne qui ne peut pas être implémentée dans les scripts PHP. En fait, en programmation, nous utilisons l'interface Iterator ou IteratorAggregate pour implémenter le parcours.
Résumé de l'interface :
Traversable { }
Une utilisation importante de Traversable est de déterminer si une classe peut être traversée , comme suit l'exemple officiel :
<?php if( !is_array( $items ) && !$items instanceof Traversable ) //Throw exception here ?>
Il convient de noter que les tableaux et les objets peuvent être parcourus via foreach, mais ils n'implémentent pas le Traversable interface, ce ne sont donc pas des exemples de Traversable :
<?php $array=[1,2,3]; $obj = (object) $array; var_dump($array instanceof \Traversable); var_dump($obj instanceof \Traversable); ?>
La sortie de code ci-dessus :
boolean false boolean false
Explication supplémentaire : lorsque la classe
n'implémente pas l'interface Iterator ou l'interface IteratorAggregate, l'exécution d'un parcours foreach affichera toutes les propriétés visibles auxquelles elle peut accéder
Interface de sérialisation personnalisée PHP Analyse et explication de l'utilisation sérialisable
Explication détaillée de la façon d'utiliser l'accélération Opcache de PHP
Comment générer l'adresse de l'avatar Gravatar à l'aide de Laravel
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!