PHP callback funksiyalar


ULASHISH

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!