>백엔드 개발 >PHP 튜토리얼 >PHP 감지 인터페이스 Traversable 사용법에 대한 자세한 설명

PHP 감지 인터페이스 Traversable 사용법에 대한 자세한 설명

jacklove
jacklove원래의
2018-07-04 17:46:421618검색

이 글은 주로 PHP 감지 인터페이스 Traversable의 사용법을 소개하고, Traversable 인터페이스 감지 순회 기능의 관련 작동 기술을 예제 형식으로 분석합니다. 도움이 필요한 친구가 참고할 수 있습니다.

이 글은 PHP의 사용법을 설명합니다. 감지 인터페이스 예제를 통해 탐색할 수 있습니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

Traversable은 foreach를 사용하여 클래스를 탐색할 수 있는지 여부를 감지하는 데 사용됩니다. 이는 실제 프로그래밍에서 구현할 수 없는 내부 엔진 인터페이스입니다. 순회를 구현하기 위해 Iterator 인터페이스 또는 IteratorAggregate 인터페이스를 사용합니다.

인터페이스 요약:

Traversable {
}

Traversable의 중요한 용도는 클래스를 탐색할 수 있는지 여부를 결정하는 것입니다. 다음은 공식적인 예입니다.

<?php
  if( !is_array( $items ) && !$items instanceof Traversable )
    //Throw exception here
?>

객체는 foreach Traversal을 통해 탐색할 수 있지만 Traversable 인터페이스를 구현하지 않으므로 탐색 가능하지 않습니다. 예:

<?php
$array=[1,2,3];
$obj = (object) $array;
var_dump($array instanceof \Traversable);
var_dump($obj instanceof \Traversable);
?>

위 코드 출력:

boolean false
boolean false

보충 참고 사항:

클래스는 Iterator 인터페이스 또는 IteratorAggregate 인터페이스를 구현하지 않습니다. foreach 순회를 실행하면 액세스할 수 있는 모든 표시 속성이 출력됩니다.

관심이 있을 수 있는 문서:

PHP 사용자 정의 직렬화 인터페이스 직렬화 가능 사용 분석 및 설명

PHP의 Opcache 가속 사용 방법에 대한 자세한 설명

Laravel을 사용하여 Gravatar 아바타 주소를 생성하는 방법

위 내용은 PHP 감지 인터페이스 Traversable 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.