Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada objek tergolong dalam kelas dalam PHP?

Bagaimana untuk menentukan sama ada objek tergolong dalam kelas dalam PHP?

WBOY
WBOYasal
2021-10-26 17:00:034471semak imbas

Dalam artikel sebelum ini, saya membawakan anda "Anda mesti memahami kelas abstrak dan kaedah abstrak dalam PHP", yang memperkenalkan pengetahuan berkaitan kelas abstrak dan kaedah abstrak dalam PHP secara terperinci Artikel ini Dalam artikel ini, mari kita lihat cara untuk menentukan sama ada objek tergolong dalam kelas dalam PHP. Saya harap ia akan membantu semua orang.

Bagaimana untuk menentukan sama ada objek tergolong dalam kelas dalam PHP?

Dalam PHP, jika anda ingin menentukan sama ada objek tergolong dalam kelas, anda perlu lulus  instanceof Gunakan kata kunci instanceof untuk menentukan sama ada objek ialah contoh atau kelas kelas Subkelas masih melaksanakan antara muka tertentu dan melaksanakan operasi yang sepadan. Ini boleh digunakan untuk menentukan sama ada objek tergolong dalam kelas tertentu Format sintaksnya adalah seperti berikut:

对象名 instanceof 类名;

Hakim sama ada objek tergolong dalam kelas tertentu

Jika anda ingin menentukan sama ada objek tergolong dalam kelas tertentu, gunakan kata kunci instanceof Mengikut format sintaks, jika objek itu tergolong dalam kelas ini, ia akan kembali benar; tergolong dalam kelas ini, ia akan kembali palsu.

Seterusnya, mari kita gunakan contoh untuk melihat sama ada objek tergolong dalam kelas tertentu. Contohnya adalah seperti berikut:

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

Hasil keluaran:

Bagaimana untuk menentukan sama ada objek tergolong dalam kelas dalam PHP?

Seperti yang dapat dilihat daripada keputusan di atas, yang dikesan objek kepunyaan kelas kajian , hasil yang dikembalikan adalah benar Objek yang dikesan bukan milik kelas kajian1, jadi palsu dikembalikan. Oleh itu, instanceof boleh digunakan untuk menentukan sama ada objek tergolong dalam kelas tertentu.

Tentukan sama ada objek tergolong dalam subkelas kelas induk tertentu

Melalui kes di atas kita telah dapat menentukan sama ada objek tergolong dalam kelas Bukan itu sahaja, instanceof juga boleh digunakan untuk menentukan sama ada objek mewarisi daripada subkelas kelas induk Begitu juga, jika objek yang dikesan tergolong dalam subkelas kelas induk ini, hasil yang dikembalikan adalah benar objek yang dikesan Jika objek tidak tergolong dalam subkelas kelas induk ini, hasil yang dikembalikan adalah palsu.

Seterusnya mari kita lihat contoh seperti berikut:

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

Hasil keluaran:

Bagaimana untuk menentukan sama ada objek tergolong dalam kelas dalam PHP?

Dapat dilihat daripada keputusan di atas bahawa instanceof juga boleh digunakan untuk menentukan sama ada objek ialah subkelas yang diwarisi daripada kelas induk tertentu.

Tentukan sama ada objek tergolong dalam objek antara muka

Kita juga boleh menggunakan instanceof untuk menentukan sama ada pembolehubah melaksanakan antara muka Objek itu ialah sama seperti di atas. Jika hasil keluaran adalah benar, ia bermakna objek itu tergolong dalam antara muka ini Jika hasil keluaran adalah palsu, ia bermakna objek itu tidak tergolong dalam antara muka ini.

Mari kita lihat melalui contoh contohnya seperti berikut:

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

Hasil keluaran:

Bagaimana untuk menentukan sama ada objek tergolong dalam kelas dalam PHP?

Dalam contoh di atas, Gunakan instanceof untuk menentukan sama ada pembolehubah ialah objek antara muka.

Apabila objek yang diadili tidak wujud

Ada satu lagi situasi yang perlu kita ambil perhatian jika pembolehubah yang diuji tidak objek, kemudian kembali Adakah terdapat sebarang perubahan dalam keputusan Adakah terdapat sebarang kesan? instanceof tidak akan melaporkan ralat tetapi akan secara langsung mengembalikan flase.

Mari kita lihat contoh, contohnya seperti berikut:

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

Hasil keluaran:

Bagaimana untuk menentukan sama ada objek tergolong dalam kelas dalam PHP?

Seperti yang dilihat daripada contoh di atas, pembolehubah yang dipantau bukanlah objek, sistem tidak melaporkan ralat, tetapi mengembalikan flase.

Jika anda berminat, anda boleh klik pada "Tutorial Video PHP" untuk mengetahui lebih lanjut tentang pengetahuan PHP.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada objek tergolong dalam kelas dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn