Maison  >  Article  >  développement back-end  >  Comment déterminer si un objet appartient à une classe en PHP ?

Comment déterminer si un objet appartient à une classe en PHP ?

WBOY
WBOYoriginal
2021-10-26 17:00:034457parcourir

Dans l'article précédent, je vous ai présenté "Vous devez comprendre ce que sont les classes abstraites et les méthodes abstraites en PHP", qui a présenté en détail les connaissances pertinentes sur les classes abstraites et les méthodes abstraites en PHP. Dans cet article, jetons un coup d'œil. chez PHP Comment déterminer si un objet appartient à une classe, j'espère que cela sera utile à tout le monde !

Comment déterminer si un objet appartient à une classe en PHP ?

En PHP, si vous souhaitez déterminer si un objet appartient à une classe, vous devez utiliser le mot-clé  instanceof ,使用instanceof pour déterminer si un objet est une instance d'une classe, une sous-classe d'une classe ou implémente un interface et effectuer les opérations correspondantes. Ceci peut être utilisé pour déterminer si un objet appartient à une certaine classe. Son format de syntaxe est le suivant :

对象名 instanceof 类名;

Jugez si un objet appartient à une certaine classe

Si vous voulez juger si un objet appartient à une certaine classe, puis passez Le mot-clé instanceof, selon le format de syntaxe, renverra true si l'objet appartient à cette classe s'il n'appartient pas à cette classe, il renverra false ;

Ensuite, utilisons un exemple pour voir si un objet appartient à une certaine classe. L'exemple est le suivant :

<?php
    class study{
    }
    class study1{
    }
    $obj = new study;
    var_dump($obj instanceof study);
    echo &#39;<br>&#39;;
    var_dump($obj instanceof study1);
?>

Résultat de sortie :

Comment déterminer si un objet appartient à une classe en PHP ?

Comme le montrent les résultats ci-dessus, l'objet détecté appartient à la classe d'étude et le résultat renvoyé est vrai. L'objet détecté n'appartient pas. à la classe Study1, donc false est renvoyé. Par conséquent, instanceof peut être utilisé pour déterminer si un objet appartient à une certaine classe.

Déterminer si un objet appartient à une sous-classe d'une certaine classe parent

Grâce aux cas ci-dessus, nous avons pu déterminer si un objet appartient à une classe. Non seulement cela, grâce à instanceof, nous pouvons également. déterminer si un objet hérite d'une sous-classe d'une certaine classe parent. De même, si l'objet détecté appartient à une sous-classe de cette classe parent, le résultat renvoyé est vrai. Si l'objet détecté n'appartient pas à une sous-classe de cette classe parent, le résultat renvoyé est faux.

Ensuite, regardons un exemple. L'exemple est le suivant :

<?php
    class study{
    }
    class study1 extends study{
    }
    $obj = new study1;
    var_dump($obj instanceof study);
    echo &#39;<br>&#39;;
    var_dump($obj instanceof study1);
?>

Résultat de sortie :

Comment déterminer si un objet appartient à une classe en PHP ?

Comme le montrent les résultats ci-dessus, instanceof peut également être utilisée pour déterminer si un objet. est un enfant d'une classe parentale.

Pour déterminer si un objet appartient à un objet d'interface

Nous pouvons également utiliser instanceof pour déterminer si une variable est un objet qui implémente une interface. La même chose est vraie pour la situation ci-dessus. true , indiquant que l'objet appartient à cette interface. Si le résultat de sortie est faux, cela signifie que l'objet n'appartient pas à cette interface.

Jetons un coup d'œil à un exemple. L'exemple est le suivant :

<?php
    interface study{
    }
    class study1 implements study{
    }
    $obj = new study1;
    var_dump($obj instanceof study);
    echo &#39;<br>&#39;;
    var_dump($obj instanceof study1);
?>

Résultat de sortie :

Comment déterminer si un objet appartient à une classe en PHP ?

Dans l'exemple ci-dessus, instanceof est utilisé pour déterminer si une variable est un objet d'une certaine interface.

Lorsque l'objet jugé n'existe pas

Il y a une autre situation à laquelle nous devons prêter attention. Si la variable détectée n'est pas un objet, y aura-t-il un changement dans le résultat renvoyé ? un impact ? instanceof ne signalera pas d'erreur mais renverra directement flase.

Prenons un exemple, qui est le suivant :

<?php
    class study{
    }
    class study1{
    }
    $obj = new study;
    var_dump($obj instanceof test);
    echo &#39;<br>&#39;;
    var_dump($obj instanceof demo);
?>

Résultat de sortie :

Comment déterminer si un objet appartient à une classe en PHP ?

Comme le montre l'exemple ci-dessus, la variable surveillée n'est pas un objet et le système ne rapporte pas une erreur, mais renvoie flase.

Si vous êtes intéressé, vous pouvez cliquer sur "Tutoriel vidéo PHP" pour en savoir plus sur les connaissances PHP.

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