Maison développement back-end Problème PHP instance php de qu'est-ce que cela signifie ?

instance php de qu'est-ce que cela signifie ?

May 14, 2021 am 09:07 AM
instanceof

php instanceof est un mot-clé en php. L'utilisation du mot-clé instanceof peut déterminer si un objet est une instance d'une classe, une sous-classe d'une classe ou implémente une interface spécifique et effectuer les opérations correspondantes.

instance php de qu'est-ce que cela signifie ?

L'environnement d'exploitation de cet article : système Windows 7, PHP version 5.6, ordinateur Dell G3.

Un autre nouvel ajout à PHP5 est le mot-clé instdnceof. Utilisez ce mot-clé pour déterminer si un objet est une instance d'une classe, une sous-classe d'une classe ou implémente une interface spécifique et effectuez les opérations correspondantes. Dans certains cas, nous souhaitons déterminer si une classe est d'un type spécifique ou implémente une interface spécifique. L'opérateur instanceof est très adapté à cette tâche. L'opérateur instanceof vérifie trois choses : si l'instance est d'un type spécifique, si l'instance hérite d'un type spécifique et si l'instance ou l'une de ses classes ancêtres implémente une interface spécifique. Par exemple, supposons que vous vouliez savoir si un objet nommé manager est une instance de la classe Employee :

$manager = new Employee();
…
if ($manager instanceof Employee)
  echo "Yes";
Copier après la connexion

Deux points méritent d'être notés. Premièrement, le nom de la classe ne comporte aucun délimiteur (guillemets). L'utilisation de délimiteurs entraînera une erreur de syntaxe. Deuxièmement, si la comparaison échoue, le script quittera son exécution. Le mot-clé instanceof est particulièrement utile lorsque vous travaillez avec plusieurs objets en même temps. Par exemple, vous pouvez appeler une fonction à plusieurs reprises mais souhaitez ajuster le comportement de la fonction en fonction du type d'objet. Vous pouvez utiliser des instructions case et le mot-clé instanceof pour atteindre cet objectif.

class test{}
class test{}
class testChilern Extends test{}
$a = new test();
$m = new test();
$i = ($m instanceof test);
if($i)
  echo &#39;$m是类test的实例!<br />&#39;; // get this value
switch ($a instanceof test){
  case true :
    echo &#39;YES<br />&#39;;
    break;
  case false :
    echo &#39;No<br />&#39;; //get this value
    break;
}
$d=new testChilern();
if($d instanceof test)echo &#39;$d是类test的子类!<br />&#39;; // get this value
Copier après la connexion

Quelle est la fonction d'instanceof en php ?

Fonction : (1) Déterminer si un objet est une instance d'une certaine classe , (2) Déterminer si un objet implémente une interface.

La première utilisation :

<?php
$obj = new A();
if ($obj instanceof A) {
  echo &#39;A&#39;;
}
Copier après la connexion

La deuxième utilisation :

<?php
interface ExampleInterface
{
   public function interfaceMethod();
 }
 class ExampleClass implements ExampleInterface
{
   public function interfaceMethod()
   {
     return &#39;Hello World!&#39;;
   }
 }
$exampleInstance = new ExampleClass();
 if($exampleInstance instanceof ExampleInterface){
   echo &#39;Yes, it is&#39;;
 }else{
   echo &#39;No, it is not&#39;;
} 
?>
Copier après la connexion

Résultat de sortie : Oui, c'est

De plus, veuillez faire attention à la différence entre instanceof et is_subclass_of(), veuillez consulter le code :

<?php
class Foo {
   public $foobar = &#39;Foo&#39;;
   public function test() {
     echo $this->foobar . "\n";
   }
 }
 class Bar extends Foo {
   public $foobar = &#39;Bar&#39;;
 }
$a = new Foo();
$b = new Bar();
echo "use of test() method\n";
$a->test();
$b->test();
echo "instanceof Foo\n";
var_dump($a instanceof Foo); // TRUE
var_dump($b instanceof Foo); // TRUE
echo "instanceof Bar\n";
var_dump($a instanceof Bar); // FALSE
var_dump($b instanceof Bar); // TRUE
echo "subclass of Foo\n";
var_dump(is_subclass_of($a, &#39;Foo&#39;)); // FALSE
var_dump(is_subclass_of($b, &#39;Foo&#39;)); // TRUE
echo "subclass of Bar\n";
var_dump(is_subclass_of($a, &#39;Bar&#39;)); // FALSE
var_dump(is_subclass_of($b, &#39;Bar&#39;)); // FALSE
?>
Copier après la connexion

Résultat de sortie (PHP 5.4.4) :

 use of test() method
 Foo
 Bar
 instanceof Foo
 bool(true)
 bool(true)
 instanceof Bar
 bool(false)
 bool(true)
 subclass of Foo
 bool(false)
 bool(true)
 subclass of Bar
 bool(false)
Copier après la connexion

Apprentissage recommandé : "Tutoriel vidéo 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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que fait instanceof ? Que fait instanceof ? Nov 14, 2023 pm 03:50 PM

La fonction de instanceof est de déterminer si un objet est une instance d'une certaine classe ou s'il implémente une interface. instanceof est un opérateur utilisé pour vérifier si un objet est d'un type spécifié. Scénarios d'utilisation de l'opérateur instanceof : 1. Vérification de type : peut être utilisée pour déterminer le type spécifique d'un objet, afin d'effectuer différentes logiques selon différents types 2. Jugement d'interface : peut être utilisé pour déterminer si un objet implémente une interface ; , afin de déterminer si un objet implémente une interface. La définition de l'interface appelle la méthode correspondante 3. Transformation vers le bas, etc.

Comment utiliser l'opérateur instanceof en Java Comment utiliser l'opérateur instanceof en Java May 19, 2023 am 08:16 AM

Concept 1. Cet opérateur permet d'opérer sur des objets et de vérifier si l'objet est d'un type spécifique (type ou type d'interface). Format 2. Si l'objet pointé par la variable sur le côté gauche de la calculatrice est un objet de la classe ou de l'interface sur le côté droit de l'opérateur, le résultat est vrai. (Objectreferencevariable)instanceof(class/interfacetype) instance packagecom.verify_instanceof;publicclassTestInstanceOf{publicstaticvoidmain(String[]args){//Les quatre lignes de code suivantes sont utilisées pour prouver : instanceof

Que signifie instanceof en Java Que signifie instanceof en Java Nov 13, 2023 pm 01:52 PM

En Java, instanceof est un opérateur binaire utilisé pour vérifier si un objet est une instance d'une classe ou une instance d'une sous-classe d'une classe. Sa syntaxe est "object instanceof class", où object est un objet. Citation, class est une classe. nom ou nom de l'interface.

Pourquoi devons-nous forcer le transfert après instanceof ? Pourquoi devons-nous forcer le transfert après instanceof ? Nov 14, 2023 pm 03:43 PM

Lorsque vous utilisez l'opérateur instanceof pour vérifier le type d'un objet, si le résultat est vrai, cela signifie que l'objet est une instance du type spécifié. Cependant, le compilateur ne convertit pas automatiquement l'objet vers le type spécifié, un transtypage est donc requis. Le casting est l'opération de conversion d'un objet d'un type à un autre. Après avoir utilisé l'opérateur instanceof, si vous déterminez que l'objet est une instance du type spécifié et que vous souhaitez fonctionner avec ce type, vous devez effectuer une conversion de type cast.

Pourquoi ne pas utiliser instanceof Pourquoi ne pas utiliser instanceof Nov 14, 2023 pm 04:05 PM

Les raisons pour lesquelles vous n'utilisez pas instanceof sont les suivantes : 1. Le langage de programmation que vous utilisez peut ne pas prendre en charge l'opérateur instanceof ; 2. Vous pensez que l'utilisation d'autres méthodes peut mieux répondre aux exigences. Dans certains cas, l'utilisation d'autres méthodes pour vérifier le type d'objet peut être utilisée. être plus efficace ou plus adapté à vos besoins ; 3. Vous ne savez pas comment l'opérateur instanceof est utilisé ou vous n'êtes pas sûr de son comportement ; 4. Dans certains cas, l'utilisation de "instanceof" peut ne pas être le meilleur choix.

Que signifie instanceof ? Que signifie instanceof ? Nov 20, 2023 pm 02:32 PM

Instanceof est un opérateur en JavaScript, utilisé pour détecter si l'attribut "prototype" du constructeur apparaît n'importe où dans la chaîne de prototypes de l'objet. La syntaxe est "object instanceof constructor", où object est l'objet à détecter et constructor est le. objet à détecter. Constructeur à vérifier.

Pourquoi une erreur sera-t-elle signalée sans ajouter d'instance de ? Pourquoi une erreur sera-t-elle signalée sans ajouter d'instance de ? Nov 13, 2023 pm 03:05 PM

La raison est la suivante : l'opérateur instanceof est utilisé pour vérifier si un objet est une instance d'une classe spécifique (ou sa classe dérivée). Si l'objet n'est pas une instance d'une classe, la détermination du type ne peut pas être effectuée et une erreur est générée. Pour éviter cette erreur, lorsque vous utilisez l'opérateur instanceof, vous devez vous assurer que l'objet est une instance d'une classe. Si vous n'êtes pas sûr du type d'un objet, vous pouvez utiliser d'autres méthodes pour déterminer le type.

opérateur instanceof en Java opérateur instanceof en Java Sep 01, 2023 pm 08:01 PM

Cet opérateur n'est utilisé que pour les variables de référence d'objet. Cet opérateur vérifie si un objet appartient à un type spécifique (type classe ou type interface). L'opérateur instanceof est écrit comme -(Objectreferencevariable)instanceof(class/interfacetype) Si l'objet référencé par la variable sur le côté gauche de l'opérateur réussit la vérification IS-A du type classe/interface sur le côté droit, le résultat sera être fidèle. Voici un exemple - Exemple de démonstration en direct publicclassTest{ publicstaticvoidmain(Stringargs[]){&nbs

See all articles