instanceof 키워드가 무엇인가요?
PHP5에는 instdnceof 키워드가 새로 추가되었습니다. 이 키워드를 사용하여 객체 가 클래스의 인스턴스인지, 클래스의 하위 클래스인지, 특정 인터페이스를 구현하는지 확인하고 해당 작업을 수행합니다. 어떤 경우에는 클래스가 특정 유형인지 또는 특정 인터페이스를 구현하는지 확인하고 싶습니다. instanceofoperator는 이 작업에 적합합니다. instanceof 연산자는 세 가지 사항, 즉 인스턴스가 특정 유형인지 여부, 인스턴스가 특정 유형에서 상속되는지 여부, 인스턴스 또는 해당 상위 클래스 중 하나가 특정 인터페이스를 구현하는지 여부를 확인합니다. 예를 들어, Manager라는 객체가 Employee 클래스의 인스턴스인지 알고 싶다고 가정해 보겠습니다.
$manager = new Employee(); … if ($manager instanceof Employee) echo "Yes";
주목할 만한 두 가지 사항이 있습니다. 첫째, 클래스 이름에는 구분 기호(따옴표)가 없습니다. 구분 기호를 사용하면 구문 오류가 발생합니다. 둘째, 비교가 실패하면 스크립트는 실행을 exit합니다. instanceof 키워드는 동시에 여러 개체를 작업할 때 특히 유용합니다. 예를 들어, 함수를 반복적으로 호출하지만 객체 유형에 따라 함수의 동작을 조정하려고 할 수 있습니다. 이 목표를 달성하기 위해 Case 문과 instanceof 키워드를 사용할 수 있습니다.
class test{} class test{} class testChilern Extends test{} $a = new test(); $m = new test(); $i = ($m instanceof test); if($i) echo '$m是类test的实例!<br />'; // get this value switch ($a instanceof test){ case true : echo 'YES<br />'; break; case false : echo 'No<br />'; //get this value break; } $d=new testChilern(); if($d instanceof test)echo '$d是类test的子类!<br />'; // get this value
php
instanceof의 기능은 무엇입니까? 기능: (1) 객체가 특정 클래스의 인스턴스인지 확인합니다. (2) 객체가 특정 인터페이스를 구현하는지 확인합니다.
첫 번째 사용법:
<?php $obj = new A(); if ($obj instanceof A) { echo 'A'; }
두 번째 사용법:
<?php interface ExampleInterface { public function interfaceMethod(); } class ExampleClass implements ExampleInterface { public function interfaceMethod() { return 'Hello World!'; } } $exampleInstance = new ExampleClass(); if($exampleInstance instanceof ExampleInterface){ echo 'Yes, it is'; }else{ echo 'No, it is not'; } ?>
출력 결과: Yes, it is
또한, instanceof와 is_subclass_of()의 차이점에 주의하세요. 코드를 참조하세요.
<?php class Foo { public $foobar = 'Foo'; public function test() { echo $this->foobar . "\n"; } } class Bar extends Foo { public $foobar = 'Bar'; } $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, 'Foo')); // FALSE var_dump(is_subclass_of($b, 'Foo')); // TRUE echo "subclass of Bar\n"; var_dump(is_subclass_of($a, 'Bar')); // FALSE var_dump(is_subclass_of($b, 'Bar')); // FALSE ?>
출력 결과(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)
위 내용은 PHP의 인스턴스 오브 키워드는 무엇입니까? 그것을 사용하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!