PHP 수익률

WBOY
풀어 주다: 2024-08-29 12:56:31
원래의
326명이 탐색했습니다.

PHP Yield 키워드는 생성기 함수를 생성하는 데 사용됩니다. PHP에 내장된 키워드입니다. 생성기 함수는 단일 값을 반환한다는 점을 제외하면 일반 함수와 동일합니다. 생성기 항복 키워드는 생성기 함수에서 반환하는 데 필요한 많은 값을 반환합니다. Yield를 포함하는 모든 함수는 생성기 함수입니다. 생성기 함수는 foreach 루프를 통해 반복하고 값이 필요할 때마다 생성기가 값을 생성하는 반복기와 동일합니다. Yield 키워드는 실행을 중지하는 대신 return 키워드와 동일합니다.

광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

구문

yield $value;
로그인 후 복사

매개변수 –

– 선택사항이 아니며 반환할 값을 지정합니다.

반환 값 – 이 메서드의 반환 값은 생성 함수에서 반환되는 데 필요한 값입니다.

PHP Yield 키워드 작업

PHP 항복 키워드는 생성기 함수에서 여러 값을 반환하거나 생성하는 데 사용됩니다. 생성기 함수가 호출되면 반복할 수 있는 반복자 객체를 반환합니다. 값이 필요할 때마다 PHP로 객체의 반복 메서드를 호출하는 foreach 루프로 이 객체를 반복하면 생성기 함수가 다음 값을 얻기 위해 재개되는 값을 생성할 때 생성기 함수의 상태가 저장됩니다. 산출할 값이 없으면 생성기가 종료되고 배열에 값이 부족해지는 것처럼 호출 코드가 계속될 수 있습니다.

PHP 수익률 키워드 예시

아래에는 다양한 예가 나와 있습니다.

예 #1 – 여러 값 산출

다음으로, 다음 예를 통해 PHP Yield 키워드를 더 명확하게 이해하기 위해 PHP 코드를 작성합니다. 여기서 Yield 키워드는 아래와 같이 생성기 함수에서 여러 값을 산출하는 데 사용됩니다. –

코드:

<?php
// creating function to generate even numbers in between 2 to 10
function gen_even_numbers() {
for ($i = 2; $i <= 10; $i+=2) {
// Note that $i is preserved between yields.
yield $i;
}
}
// calling the gen_even_numbers function
$generator = gen_even_numbers();
// iterating over the yeilded values of the gen_even_numbers function
print( " The yeilded values of the generator function are : \n ");
foreach ($generator as $value) {
print( " $value\n ");
}
?>
로그인 후 복사

출력:

PHP 수익률

위 프로그램과 마찬가지로 gen_even_numbers() 함수를 생성하여 2부터 10까지의 짝수를 찾아 반복 호출시 Yield나 Return을 하게 됩니다. 각 반복에서 출력에서 ​​볼 수 있듯이 표시되는 값을 하나씩 반환합니다.

예제 #2 – iterator_to_array() 메서드

다음으로, PHP Yield 키워드를 이해하기 위해 PHP 코드를 작성합니다. 여기서 Yield 키워드는 생성기 함수에서 여러 값을 생성하는 데 사용되며 해당 생성기 함수는 아래와 같이 다른 생성기 함수 내에서 호출됩니다.

코드:

<?php
// creating function to generate even numbers in between 2 to 10
function gen_even_numbers() {
for ($i = 2; $i <= 10; $i+=2) {
// Note that $i is preserved between yields.
yield $i;
}
}
// creating function to call gen_even_numbers function
function call_gen()
{
yield 2;
yield from gen_even_numbers();
yield 10;
}
// calling the call_gen function
$generator = call_gen();
// iterating over the yeilded values of the call_gen function
print( " The yeilded values of the generator function by foreach loops are : \n ");
foreach ($generator as $value) {
print( " $value\n ");
}
print("<br>");
print( "The yeilded values of the generator function by iterator_to_array are : \n ");
var_dump(iterator_to_array(call_gen()));
?>
로그인 후 복사

출력:

PHP 수익률

위 프로그램과 마찬가지로 2에서 10 사이의 짝수를 찾아 반환하는 gen_even_numbers() 함수를 생성하고, 또 다른 함수 call_gen()을 사용하여 Yield from을 사용하여 gen_even_numbers() 함수를 호출합니다. 키를 재설정하지 않습니다. 코드 뒷부분에서 반복은 두 가지 방법으로 수행됩니다. 첫 번째 방법은 foreach 루프를 사용하는 것입니다. 이는 call_gen() 함수에서 값이 생성될 때 순서대로 값을 반복하므로 키가 재설정되지 않고 2 2 4 6 8 10 10으로 출력됩니다. 두 번째 방법은 기본적으로 키 배열을 반환하는 iterator_to_array() 메서드를 사용하고 있으며 출력에서 ​​확인할 수 있는 예상치 못한 결과가 발생할 수 있습니다.

예 #3 – 참조 생성기 함수 내부

다음으로, 참조 생성기 함수 내에서 Yield 키워드가 사용되는 PHP Yield 키워드를 이해하기 위해 PHP 코드를 작성합니다.

코드:

<?php
// creating function to generate even numbers in between 2 to 10
function &gen_even_numbers() {
$i = 2;
while($i <= 10) {
// yield does not come out from the loop or function
yield $i;
$i+=2;
}
}
// calling the gen_even_numbers function
$generator = gen_even_numbers();
// iterating over the yeilded values of the call_gen function
print( " The yeilded values of the reference generator function are : \n ");
foreach ($generator as &$value) {
print( " $value\n ");
}
?>
로그인 후 복사

출력:

PHP 수익률

위 프로그램에서 gen_even_numbers() 함수는 "&" 접두사가 붙어 있으므로 참조 함수입니다. 2에서 10 사이의 짝수를 찾아서 반환하는 데 사용됩니다. 이 함수의 반환 개체를 더 많이 반복하고, 반복된 값이 다시 "&" 접두사가 붙는 변수에 저장됩니다.

결론

PHP Yield 키워드는 생성기 함수를 생성하거나 a를 반환하는 데 사용되는 내장 키워드입니다.

위 내용은 PHP 수익률의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿