Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menentukan sama ada objek tergolong dalam kelas dalam PHP?
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.
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 '<br>'; var_dump($obj instanceof study1); ?>
Hasil keluaran:
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 '<br>'; var_dump($obj instanceof study1); ?>
Hasil keluaran:
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 '<br>'; var_dump($obj instanceof study1); ?>
Hasil keluaran:
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 '<br>'; var_dump($obj instanceof demo); ?>
Hasil keluaran:
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!