PHP callback funksiyalar
PHP Callback funksiyalari
Callback funksiyasi boshqa funksiyaga argument sifatida uzatiladigan funksiyadir.
Callback funksiyasi quyidagicha bo‘lishi mumkin:
- Nomlangan funksiya - funksiya nomini string sifatida o‘tkazish
- Anonim funksiya - inline funksiyani aniqlang va uni argument sifatida bering
Callback sifatida nomlangan funksiyadan foydalaning
Har qanday mavjud funksiya callback qilish funksiyasi sifatida ishlatilishi mumkin. Nomlangan funksiyani callback qilish funksiyasi sifatida ishlatish uchun boshqa funksiyaning argumenti sifatida funksiya nomini o‘z ichiga olgan stringni o‘tkazing:
Misol
Massivdagi har bir raqam uchun har bir raqamni o‘ziga ko‘paytirish uchun PHP array_map() funksiyasiga callback qilish funksiyasini o‘tkazing:
<?php
// Define the named callback function
function myfunction($n) {
return($n * $n);
}
// Array of numbers to multiply
$numbers = [1, 2, 3, 4, 5];
// Use array_map with the myfunction function as a callback
print_r(array_map("myfunction", $numbers));
?>
O‘zingiz sinab ko‘ring »
Callback sifatida anonim funksiyadan foydalaning
Anonim funksiya inline sifatida belgilanadi va ko‘pincha bir martalik funksiya kerak bo‘lganda ishlatiladi.
Bu yerda biz anonim funksiyani callback qilish funksiyasi sifatida beramiz:
Misol
PHP array_map() funksiyasi uchun callback sifatida anonim funksiyadan foydalaning:
<?php
$numbers = [1, 2, 3, 4, 5];
$res = array_map(function($n) {return($n * $n);}, $numbers);
print_r($res);
?>
O‘zingiz sinab ko‘ring »
Foydalanuvchi tomonidan belgilangan funksiyalarda PHP callback’lari
Foydalanuvchi tomonidan belgilangan funksiyalar va usullar callback qilish funksiyalarini argument sifatida ham olishi mumkin. Callback funksiyalarini foydalanuvchi tomonidan belgilangan funksiya yoki usulda ishlatish uchun o‘zgaruvchiga qavslar qo‘shish orqali chaqiring va oddiy funksiyalardagi kabi argumentlarni o‘tkazing:
Misol
Foydalanuvchi tomonidan belgilangan funksiyadan callbackni ishga tushiring:
<?php
function exclaim($str) {
return $str . "! ";
}
function ask($str) {
return $str . "? ";
}
function printFormatted($str, $format) {
echo $format($str);
}
// Pass "exclaim" and "ask" as callback functions to printFormatted()
printFormatted("Hello world", "exclaim");
printFormatted("Hello world", "ask");
?>
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
