정의 및 사용법
버전 7.1부터 PHP는 iterable이라는 새로운 유사 유형을 제공합니다. . Traversable을 구현하는 모든 개체(예:배열) 인터페이스가 허용됩니다. 이 유형은 한 번에 하나의 값을 생성하는 foreach 구문 또는 생성기 함수를 사용합니다.
구문
함수는 foreach에서 사용되는 값 집합을 허용하도록 매개변수 유형으로 iterable을 가질 수 있습니다. 성명. 매개변수가 foreach 루프를 지원하지 않으면 PHP 파서에서 TypeError가 발생합니다.
예시
<?php $arr1=array("PHP","Java","Python"); function myfunc (iterable $arr1){ foreach ($arr1 as $lang){ echo $lang . "\n"; } } myfunc($arr1); ?>
출력
이것은 다음 결과를 생성합니다 -
PHP Java Python
PHP 함수는 배열과 같은 반복 가능한 데이터 유형을 반환할 수도 있습니다. is_iterable()을 사용합니다. 반환된 값의 유형을 확인하는 함수입니다.
예시
<?php function newfunc ():iterable{ $arr2=[]; for ($i=1;$i<4;$i++){ $arr2[$i]=$i*2; } return $arr2; } $ret=newfunc(); var_dump (is_iterable($ret)); ?>
출력
이것은 다음 결과를 생성합니다 -
bool(true)
다음은 반복 가능한 반환 유형을 가진 생성기의 예입니다.
예시
<?php function gen(): iterable { yield 1; yield 2; yield 3; } gen(); ?>
PHP 버전
Iterable 의사 유형은 PHP 7.1에서 도입되었습니다.