PHP의 is_a() 함수와 instanceof 연산자의 함수는 유사합니다. 그렇다면 차이점은 무엇인가요? 다음 글에서는 is_a() 함수와 instanceof에 대한 간략한 이해를 제공하고 is_a() 함수와 instanceof의 차이점을 소개하겠습니다. [동영상 튜토리얼 추천: PHP 튜토리얼]
PHP is_a() 함수
is_a() 함수는 PHP에 내장된 함수로 주어진 객체가 주어진 클래스에 속하는지 확인하는 함수입니다. ; 또한 주어진 클래스가 주어진 객체의 상위 클래스 중 하나인지 확인합니다.
기본 구문:
is_a( $object, $class_name, $allow_string )
매개변수: is_a() 함수는 다음 세 가지 매개변수를 사용할 수 있습니다.
●Object: 테스트 개체를 저장하는 데 사용됩니다.
● class_name : 클래스 이름을 저장하는데 사용됩니다.
● allow_string: 설정값이 False인 경우 문자열 클래스 이름을 객체로 사용할 수 없습니다.
반환 값: 객체가 주어진 클래스에 속하거나 이 클래스가 상위 클래스 중 하나인 경우 is_a() 함수는 True를 반환하고, 그렇지 않으면 False 값을 반환합니다.
코드 예제를 통해 is_a() 함수에 대해 알아봅시다.
<?php class hello { var $store = 'Hello PHP!'; } $PHP= new hello(); // 检查$PHP是否是hello类的对象 if (is_a($PHP, 'hello')) { echo "Yes"; } ?>
출력:
Yes
PHP 인스턴스 오브 연산자
객체가 클래스의 인스턴스화된 인스턴스인지 확인하려면 PHP에서 인스턴스 오브 연산자를 사용하세요.
기본 구문:
$a instanceof MyClass
연산자: instanceof 연산자에는 다음 두 피연산자가 포함됩니다.
● $a: 개체를 나타냅니다.
● MyClass: 클래스 이름을 나타냅니다.
반환 값: 객체가 지정된 클래스에 속하거나 이 클래스가 상위 클래스 중 하나로 있으면 True이고, 그렇지 않으면 False 값을 반환합니다.
예제를 통해 instanceof 연산자에 대해 알아봅시다.
<?php class hello { var $store = 'Hello PHP!'; } $PHP= new hello(); // 检查$PHP是否是hello类的对象 if ($PHP instanceof hello) { echo "Yes"; } ?>
출력:
Yes
is_a() 함수와 인스턴스 오브 연산자의 차이점
● is_a()는 함수이고, 인스턴스 오브는 언어 구성입니다. is_a() 함수는 함수 호출을 수행하는 데 드는 모든 오버헤드를 갖기 때문에 상당히 느려질 것입니다.
● 함수 콜백(array_map 등)의 경우, instanceof는 함수가 아니기 때문에 언어 구성체이므로 콜백으로 사용할 수 없습니다. 그러나 is_a() 함수에서는 콜백을 사용할 수 있습니다.
● InstanceOf에서 직접 클래스 이름을 사용하는 시간은 is_a() 함수보다 짧습니다.
예:
//语法短(比较) $a instanceof MyClass is_a( $a, MyClass::class )
● is_a()는 객체를 매개변수 1로, 문자열을 매개변수 2로 사용하는 함수인 반면, instanceof는 객체를 매개변수 1로 사용하고 클래스 이름, 객체 인스턴스 또는 클래스를 사용할 수 있습니다. 식별자( 따옴표가 없는 클래스 이름)을 매개변수 2로 사용합니다.
is_a() 예시:
//只有这样才能调用它 is_a($object,$string);
instanceof 예시:
//对象实例 $object instanceof $otherObject; //字符串类名 $object instanceof $string; //类的标识符 $object instanceof ClassName;
위는 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !
위 내용은 PHP에서 is_a() 함수와 instanceof의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!