hasil PHP

WBOY
Lepaskan: 2024-08-29 12:56:31
asal
335 orang telah melayarinya

Kata kunci hasil PHP digunakan untuk mencipta fungsi penjana. Ia adalah kata kunci terbina dalam dalam PHP. Fungsi penjana adalah sama dengan fungsi biasa, kecuali mengembalikan nilai tunggal, kata kunci hasil penjana mengembalikan banyak nilai seperti yang diperlukan untuk kembali daripada fungsi penjana. Mana-mana fungsi yang mengandungi hasil adalah fungsi penjana. Fungsi Generator sama seperti iterator, yang menggelung melalui gelung foreach, dan setiap kali ia memerlukan nilai, penjana menghasilkan nilai; kata kunci hasil adalah sama dengan kata kunci pulangan, kecuali daripada menghentikan pelaksanaan.

IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks

yield $value;
Salin selepas log masuk

Parameter –

nilai – Ini bukan pilihan, yang menentukan nilai yang akan dikembalikan.

Nilai pulangan – Nilai pulangan kaedah ini ialah nilai yang diperlukan untuk dikembalikan dalam fungsi penjanaan.

Menggunakan kata kunci hasil PHP

Kata kunci hasil PHP menggunakan dalam fungsi penjana untuk mengembalikan atau menghasilkan berbilang nilai. Apabila fungsi penjana dipanggil, ia mengembalikan objek lelaran yang boleh diulang. Apabila kita mengulangi objek ini dengan gelung foreach, yang memanggil kaedah lelaran objek oleh PHP setiap kali ia memerlukan nilai, maka keadaan fungsi penjana disimpan apabila fungsi penjana menghasilkan nilai yang disambung semula untuk mendapatkan nilai seterusnya. Apabila tiada nilai untuk dihasilkan, maka penjana hanya keluar dan kod panggilan boleh diteruskan sama seperti tatasusunan kehabisan nilai.

Contoh kata kunci hasil PHP

Contoh yang berbeza dinyatakan di bawah:

Contoh #1 – menghasilkan berbilang nilai

Seterusnya, kami menulis kod PHP untuk memahami kata kunci hasil PHP dengan lebih jelas dengan contoh berikut, di mana kata kunci hasil digunakan untuk menghasilkan berbilang nilai daripada fungsi penjana, seperti di bawah –

Kod:

<?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 ");
}
?>
Salin selepas log masuk

Output:

hasil PHP

Seperti dalam program di atas, fungsi gen_even_numbers() dicipta untuk mencari nombor genap antara 2 hingga 10 dan menghasilkan atau kembali apabila ia memanggil secara berulang. Dalam setiap lelaran, ia mengembalikan nilai satu demi satu dan yang dipaparkan juga, seperti yang dapat kita lihat dalam output.

Contoh #2 – kaedah iterator_to_array()

Seterusnya, kami menulis kod PHP untuk memahami kata kunci hasil PHP, dengan kata kunci hasil digunakan untuk menghasilkan berbilang nilai daripada fungsi penjana, dan fungsi penjana itu memanggil dalam fungsi penjana lain, seperti di bawah –

Kod:

<?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()));
?>
Salin selepas log masuk

Output:

hasil PHP

Seperti dalam program di atas, fungsi gen_even_numbers() dicipta untuk mencari dan mengembalikan nombor genap di antara 2 hingga 10, dan kemudian fungsi lain call_gen() digunakan untuk memanggil fungsi gen_even_numbers() dengan menggunakan hasil daripada, yang tidak menetapkan semula kekunci. Kemudian dalam kod, lelaran melakukan dua cara untuk. Cara pertama ialah menggunakan gelung foreach, yang mengulangi nilai mengikut turutan kerana ia menghasilkan dalam fungsi call_gen(), jadi kekunci tidak ditetapkan semula dan mendapat output sebagai 2 2 4 6 8 10 10. Manakala cara kedua menggunakan kaedah iterator_to_array(), yang mengembalikan tatasusunan berkunci secara lalai dan mungkin boleh membawa kepada hasil yang tidak dijangka, yang boleh kita lihat dalam output.

Contoh #3 – di dalam fungsi penjana rujukan

Seterusnya, kami menulis kod PHP untuk memahami kata kunci hasil PHP, di mana kata kunci hasil digunakan di dalam fungsi penjana rujukan, seperti di bawah –

Kod:

<?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 ");
}
?>
Salin selepas log masuk

Output:

hasil PHP

Dalam atur cara di atas, fungsi gen_even_numbers() ialah fungsi rujukan kerana ia diawali dengan “&”; ia digunakan untuk mencari dan mengembalikan nombor genap di antara 2 hingga 10. Mengulang lebih jauh ke atas objek pemulangan fungsi ini dan setiap kali nilai lelaran disimpan ke dalam pembolehubah yang sekali lagi diawali dengan "&".

Kesimpulan

Kata kunci hasil PHP ialah kata kunci terbina dalam yang digunakan untuk mencipta fungsi penjana atau mengembalikan a.

Atas ialah kandungan terperinci hasil PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan