Maison >développement back-end >tutoriel php >Interface de détection PHP Exemple d'utilisation de Traversable

Interface de détection PHP Exemple d'utilisation de Traversable

小云云
小云云original
2017-12-29 16:48:311257parcourir

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. J'espère que cela pourra aider tout le monde.

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. Dans la programmation réelle, nous utilisons l'interface Iterator ou IteratorAggregate pour implémenter la traversée.

Résumé de l'interface :

Traversable {
}

Une utilisation importante de Traversable est de déterminer si une classe peut être traversée. Ce qui suit est un officiel. exemple :

<?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 l'interface Traversable, ils ne le sont donc pas 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

Instructions supplémentaires :

Lorsqu'une 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

Recommandations associées :

php—Interface traversable

2Interface traversable (traversale)

PHP - Explication détaillée de l'interface Traversable

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn