⊗ppSpFnCb 11 of 83 menu

PHP တွင် Callback Functions

Callback သည် အခြားလုပ်ဆောင်ချက်တစ်ခုထံသို့ သတ်မှတ်ချက်တစ်ခုအဖြစ် လက်ခံသော လုပ်ဆောင်ချက်ဖြစ်သည်။

ဥပမာတစ်ခုကို ကြည့်ရအောင်။ ကျွန်ုပ်တို့တွင် ပထမသတ်မှတ်ချက်အဖြစ် ဂဏန်းတစ်ခုကို လက်ခံပြီး ဒုတိယသတ်မှတ်ချက်အဖြစ် callback တစ်ခုကို လက်ခံသော လုပ်ဆောင်ချက်ရှိသည်ဆိုပါစို့။

<?php function func($num, $calb) { } ?>

လုပ်ဆောင်ချက်အတွင်း၌ ကျွန်ုပ်တို့၏ callback ကို ပေးပို့ထားသောဂဏန်းအတွက် ခေါ်ယူခြင်းဖြစ်စေရန် ပြုလုပ်ကြပါစို့။

<?php function func($num, $calb) { echo $calb($num); } ?>

ယခု ကျွန်ုပ်တို့၏လုပ်ဆောင်ချက်ထံသို့ callback ပေးပို့ခြင်း၏ �ွေးချယ်စရာများရှိသည်ကို ကြည့်ရအောင်။

ရွေးချယ်စရာ ၁

ကျွန်ုပ်တို့၏ callback သည် သာမန် လုပ်ဆောင်ချက်ဖြစ်နိုင်သည်။

<?php function calb($num) { return $num ** 2; } ?>

ဤအခြေအနေတွင် callback အဖြစ် ကျွန်ုပ်တို့၏လုပ်ဆောင်ချက်၏အမည်ကို ပေးပို့ပါမည်။

<?php func(3, 'calb'); ?>

func လုပ်ဆောင်ချက်အတွင်း၌ ကျွန်ုပ်တို့၏ callback ကို အမည်ဖြင့် ခေါ်ယူလိမ့်မည်။

ရွေးချယ်စရာ ၂

ကျွန်ုပ်တို့၏ callback သည် ကိန်းရှင်တစ်ခုတွင် မှတ်တမ်းတင်ထားသော အမည်မဲ့လုပ်ဆောင်ချက် ဖြစ်နိုင်သည်။

<?php $calb = function($num) { return $num ** 2; }; ?>

ဤအခြေအနေတွင် ကျွန်ုပ်တို့၏လုပ်ဆောင်ချက်ပါသော ကိန်းရှင်ကို သတ်မှတ်ချက်အဖြစ် ပေးပို့ပါသည်။

<?php func(3, $calb); ?>

ရွေးချယ်စရာ ၃

အမည်မဲ့လုပ်ဆောင်ချက်ကို ချက်ချင်းပင် သတ်မှတ်ချက်အဖြစ် ပေးပို့နိုင်သည်။

<?php func(3, function($num) { return $num ** 2; }); ?>

ရွေးချယ်စရာ ၄

မြားလုပ်ဆောင်ချက်ကို အသုံးပြု၍ ကုဒ်ကို အတိုချုံးနိုင်သည်။

<?php func(3, fn($num) => $num ** 2); ?>

လက်တွေ့လေ့ကျင့်ခန်းများ

ခင်းကျင်းတန်းတစ်ခုကို လက်ခံပြီး ခင်းကျင်းတန်း၏ အရာဝတ္ထုတစ်ခုစီအတွက် အသုံးပြုမည့် callback တစ်ခုကို လက်ခံသော လုပ်ဆောင်ချက်တစ်ခုကို ပေးထားသည်။

<?php function func($arr, $calb) { $res = []; foreach ($arr as $elem) { $res[] = $calb($elem); } return $res; } ?>

ဂဏန်းများပါသော ခင်းကျင်းတန်းနှင့် ပေးပို့ထားသောဂဏန်းကို နှစ်ထပ်ကိန်းတင်ပေးမည့် callback တစ်ခုကို သတ်မှတ်ချက်အဖြစ် ပေးပို့ခြင်းဖြင့် ဤလုပ်ဆောင်ချက်ကို ခေါ်ယူပါ။

မြန်မာ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ဝက်ဘ်ဆိုက် လုပ်ဆောင်ခြင်း၊ ဆန်းစစ်လေ့လာခြင်းနှင့် ပုဂ္ဂလိကပြုပြင်ခြင်းအတွက် ကျွန်ုပ်တို့သည် cookie များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်