PHP သည် developer များလျင်မြန်စွာ 0 က်ဘ်ဆိုက်များနှင့် applications များကိုလျင်မြန်စွာတည်ဆောက်ရန်ကြွယ်ဝသောအင်္ဂါရပ်များနှင့်လုပ်ဆောင်ချက်များကိုပါ 0 င်သည့်ကျယ်ပြန့်စွာအသုံးပြုသော server-side scripting language တစ်ခုဖြစ်သည်။ ၎င်းတို့အနက် PHP 5.3 တွင်မိတ်ဆက်သည့်ပိတ်ပစ်လုပ်ဆောင်ချက်အင်္ဂါရပ်သည် callback function များကိုပိုမိုလွယ်ကူစွာပြောင်းလွယ်ပြင်လွယ်ဖြစ်စေနိုင်သည်။ ဤဆောင်းပါးသည် closure functions များ၏အယူအဆနှင့်သုံးစွဲမှု၏အသေးစိတ်အချက်အလက်များနှင့်အသုံးပြုမှုကိုမိတ်ဆက်ပေးပြီး callback လုပ်ဆောင်ချက်များကိုအကောင်အထည်ဖော်ရန်ပိတ်သိမ်းလုပ်ဆောင်မှုများကိုမည်သို့အသုံးပြုရမည်ကိုပြသရန်လက်တွေ့ကျသောဥပမာများကိုအသုံးပြုပါမည်။
ပိတ်ထားသော function တစ်ခုသည်ကိုယ်ပိုင်နယ်ပယ်အတွင်းသတ်မှတ်ထားသော variable များကိုရယူနိုင်သည့်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ တစ်နည်းပြောရလျှင် closure function များသည်၎င်းတို့၏အဓိပ္ပါယ်ဖွင့်ဆိုသည့်အချိန်တွင်ပတ် 0 န်းကျင်ကို "မှတ်မိ" နိုင်သည့် "မှတ်မိခြင်း" ကိုထိန်းချုပ်မှုလုပ်ငန်းများကိုကိုင်တွယ်သောအခါအထူးသဖြင့်အသုံးဝင်သည်။ ဒီအင်္ဂါရပ်က PHP မှာအစွမ်းထက်တဲ့ကိရိယာတခုဖြစ်တယ်။
ပိတ်သိမ်းလုပ်ဆောင်ချက်တစ်ခု၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
$ Var = function ($ arg1, $ arg2, ... ) အသုံးပြုမှု ($ Var1, $ var2,) { // ပိတ်ထားသော function ၏ခန္ဓာကိုယ်};
ဤတွင် $ var သည်ပိတ်ထားသော function ကိုတန်ဖိုးရှိသည့် Variable ဖြစ်သည်။ $ arg1, $ arg2 စသဖြင့်တန်ဖိုးရှိသော variable ဖြစ်သည်။ ပိတ်သိမ်း function function ကို parameter သည် parameter ၏ parameter ကိုစာရင်းဖွင့်ထားသည်။ ပိတ်သိမ်း function ကိုရည်ညွှန်းသည်။ အသုံးပြုမှုသော့ချက်စာလုံးမှတဆင့်ပိတ်သိမ်းလုပ်ဆောင်ချက်သည်ပြင်ပ variable များကိုရည်ညွှန်းနိုင်သည်။ ၎င်းသည်အရေးကြီးသောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။
နောက်လက်တွေ့ကျသောဥပမာများစွာမှတစ်ဆင့် callback လုပ်ဆောင်ချက်များကိုအကောင်အထည်ဖော်ရန်ပိတ်သိမ်းလုပ်ဆောင်မှုများကိုမည်သို့အသုံးပြုရမည်ကိုပြသပါမည်။
ကျွန်ုပ်တို့တွင် element တစ်ခုချင်းစီကိုလုပ်ဆောင်လိုသောနံပါတ်များကိုထည့်သွင်းပြီးရလဒ်ကိုအခြားခင်းကျင်းမှုတစ်ခုတွင်သိုလှောင်ထားပါသည်။ ကျွန်ုပ်တို့သည် array_map function ကို သုံး. အကောင်အထည်ဖော်ရန်ပိတ်သိမ်းနိုင်သည်။
$ နံပါတ်များ = [1, 2, 3, 4, 4, 5]; $ Processednumbers = array_map (function) {{function) { $ နံပါတ် * 2 ကိုပြန်ပို့ပါ။ }, $ နံပါတ်များ); Print_r ($ processednumbers);
ရလဒ်ရလဒ်မှာ - [2, 4, 6, 8, 8, 10] ။ ဤဥပမာတွင်ပိတ်ထားသော function သည်နံပါတ်တစ်ခုစီကို 2 ခုစီမြှောက်ခြင်းနှင့်ရလဒ်ကိုဒေါ်လာထုတ်လုပ်သောမဂ္ဂဇင်းများသို့သိမ်းဆည်းသည်။
ကျောင်းသား၏သတင်းအချက်အလက်များပါ 0 င်သော array တစ်ခုရှိပြီးကျောင်းသားများ၏အသက်အရွယ်အားဖြင့်မျိုးဆက်လိုသည်ဆိုပါစို့။ ကျွန်ုပ်တို့သည် USort function ကို သုံး. ပိတ်ထားသောလုပ်ဆောင်မှုမှတဆင့်ခွဲထုတ်ခြင်းအားအကောင်အထည်ဖော်နိုင်သည်။
$ ကျောင်းသားများ = [ ['Name' => 'အဲလစ်', 'age' => 20], [အမည် '=>>' Bob ',' အသက်အရွယ် '=> 18], [အမည် '=>' Carol ',' အသက် '= >> 25] ]; Usort ($ ကျောင်းသားများ, function ($ a, $ ခ) { $ a ['အသက်အရွယ်'] - $ B [အသက်အရွယ် ']; }); Print_R ($ ကျောင်းသားများ);
output ရလဒ် -
array ( [0] => Array ([Name] =>> Bob => 18) [1] => array ([အမည်] => alice [age alice => 20) [2] => array ([name] => Carol [arear] => 25) )
ဤဥပမာတွင်ပိတ်သိမ်းလုပ်ဆောင်ချက်သည်ကျောင်းသား၏အသက်အရွယ်အပေါ် အခြေခံ. ခင်းကျင်းမှုကိုအခြေခံသည်။
ကျွန်ုပ်တို့တွင်နံပါတ်များစွာရှိပြီး 10 ထက်ကြီးသည့်ဒြပ်စင်များကိုစစ်ထုတ်လိုသည်ဆိုပါစို့။ ပိတ်သိမ်း function ကိုရယူရန်ကျွန်ုပ်တို့ကို array_filter function ကိုသုံးနိုင်သည်။
$ နံပါတ်များ = [5, 10, 15, 20, 25]; $ filterednumbers = array_filter ($ နံပါတ်များ, function ($ နံပါတ်) { $ နံပါတ်> 10 ကိုပြန်သွားပါ။ }); Print_r ($ filterednumbers);
ရလဒ်ရလဒ်မှာ - [15, 20, 25] ။ ဤဥပမာတွင်ပိတ်သိမ်းလုပ်ဆောင်ချက်သည်နံပါတ် (10) ထက်ကြီးသည်ဖြစ်စေဆုံးဖြတ်ချက်သည်တရားစီရင်ခြင်းရလဒ်အပေါ် အခြေခံ. အခြေအနေများနှင့်ကိုက်ညီသောဒြပ်စင်များကိုထုတ်ပေးသည်။
ဤဆောင်းပါးသည် PHP 5.3 တွင်မိတ်ဆက်ခွင့်ပြုချက်အင်္ဂါရပ်များကိုမိတ်ဆက်ပေးပြီး Callback လုပ်ဆောင်ချက်များကိုအကောင်အထည်ဖော်ရန်ပိတ်သိမ်းလုပ်ဆောင်မှုများကိုမည်သို့အသုံးပြုရမည်ကိုပြသည်။ ပိတ်သိမ်းလုပ်ဆောင်မှုများကိုအသုံးပြုခြင်းသည် PHP code ကိုပိုမိုတိကျသောအစုအဝေးနှင့်ပြောင်းလွယ်ပြင်လွယ်များကိုပိုမိုထိရောက်စွာအကောင်အထည်ဖော်ရန်အတွက် developer များပိုမိုထိရောက်စေရန်ကူညီနိုင်သည်။ ပိတ်သိမ်းလုပ်ဆောင်မှုများကိုအသုံးချခြင်းသည် PHP ဖွံ့ဖြိုးတိုးတက်မှု၏ထိရောက်မှုကိုတိုးတက်စေရန်နှင့်ပိုမိုကောင်းမွန်သောအတိုချုပ်နှင့်ဆက်လက်ထိန်းသိမ်းထားသောကုဒ်များရေးရန်ကူညီလိမ့်မည်။