PHP တွင် Usort () သည်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ အဆိုပါ apport () function ကို၏ဒုတိယ pareter () function ကို) function ကို (များသောအားဖြင့်နှိုင်းယှဉ်ပါဝင်သော function) သည် callback function (များသောအားဖြင့်နှိုင်းယှဉ်ခြင်း function) ဖြစ်သည်။ sorting စည်းမျဉ်းစည်းကမ်းများကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိစေလိုသည်ကိုထိန်းချုပ်ရန်ကျွန်ုပ်တို့သည်များသောအားဖြင့်အမည်မသိလုပ်ဆောင်မှုများကို callback function များကိုအသုံးပြုလေ့ရှိသည်။
USARS () function ကို arrays များကိုစီရန်နှင့်အသုံးပြုသူများအား sorting စည်းမျဉ်းများကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-title function_ invoke__">usort</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span> &</span><span><span class="hljs-variable">$array</span></span><span>, </span><span><span class="hljs-keyword">callable</span></span><span> </span><span><span class="hljs-variable">$callback</span></span><span>);
</span></span>
$ array sorted ခံရဖို့ array ဖြစ်ပါတယ်။
$ callback သည် callback function ကို parameters များအဖြစ်သတ်မှတ်ထားသည့် callback function ကိုဖြစ်သည်။ callback function သည်အောက်ပါစည်းမျဉ်းများကိုလိုက်နာသင့်သည်။
အကယ်. ပထမ ဦး ဆုံး element သည်ဒုတိယ element ထက်သေးငယ်ပါကအပျက်သဘောဆောင်သောနံပါတ်ကိုပြန်ပို့သည်။
အကယ်. ပထမ ဦး ဆုံး element သည်ဒုတိယ element ထက်ကြီးပါကအပြုသဘောဆောင်သောနံပါတ်ကိုပြန်ပို့သည်။
နှစ်ခုဒြပ်စင်တန်းတူဖြစ်လျှင် 0 ပြန်လာ 0 ။
ကိစ္စများစွာတွင်ကျွန်ုပ်တို့သည်ခွဲစိတ်မှုတစ်ခုစီအတွက်လုပ်ဆောင်မှုတစ်ခုတည်းကိုသတ်မှတ်လိုကြသည်။ PHP သည်ဤလုပ်ငန်းစဉ်ကိုအမည်မသိလုပ်ဆောင်ချက်များ (ပိတ်ပစ်ဟုလည်းခေါ်) ကို အသုံးပြု. ရိုးရှင်းအောင်ခွင့်ပြုသည်။ အမည်မသိလုပ်ဆောင်ချက်များကိုသီးခြား function ကိုသီးခြားစီကြေငြာရန်မလိုအပ်ဘဲ calmback function များကို callback function များကိုတိုက်ရိုက်အသုံးပြုနိုင်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = [</span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">9</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">6</span></span><span>];
</span><span><span class="hljs-comment">// အမည်မသိလုပ်ဆောင်ချက်များနှင့်အတူ sorting</span></span><span>
</span><span><span class="hljs-title function_ invoke__">usort</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>, function(</span><span><span class="hljs-variable">$a</span></span><span>, </span><span><span class="hljs-variable">$b</span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$a</span></span><span> - </span><span><span class="hljs-variable">$b</span></span><span>; </span><span><span class="hljs-comment">// တက်နိုင်ရန်</span></span><span>
});
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ထုတ်လုပ်မှု -
<span><span>Array
(
[</span><span><span class="hljs-meta">0</span></span><span>] => </span><span><span class="hljs-number">1</span></span><span>
[</span><span><span class="hljs-meta">1</span></span><span>] => </span><span><span class="hljs-number">2</span></span><span>
[</span><span><span class="hljs-meta">2</span></span><span>] => </span><span><span class="hljs-number">5</span></span><span>
[</span><span><span class="hljs-meta">3</span></span><span>] => </span><span><span class="hljs-number">5</span></span><span>
[</span><span><span class="hljs-meta">4</span></span><span>] => </span><span><span class="hljs-number">6</span></span><span>
[</span><span><span class="hljs-meta">5</span></span><span>] => </span><span><span class="hljs-number">9</span></span><span>
)
</span></span>
ဤဥပမာတွင်အမည်မသိ function ၏ $ a နှင့် $ b သည် array တွင် element နှစ်ခုနှင့် $ a-$ b ဆိုလိုသည်မှာကျွန်ုပ်တို့သည်အမိန့်ကိုအစဉ်လိုက် sort လုပ်လိုသည်။ သင်အစဉ်အလာတွင် အစဉ်အလာတွင်ရွေးချယ်လိုပါက $ A - $ B ကိုပြောင်းပါ။ $ b ကို $ ခ - $ a; ။
ငါတို့မှာကြိုးတွေတစ်ခုရှိပြီး string ရဲ့အရှည်အလိုက်ခွဲချင်ကြတယ်ဆိုပါစို့။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = [</span><span><span class="hljs-string">"apple"</span></span><span>, </span><span><span class="hljs-string">"banana"</span></span><span>, </span><span><span class="hljs-string">"cherry"</span></span><span>, </span><span><span class="hljs-string">"date"</span></span><span>];
</span><span><span class="hljs-comment">// string အရှည်အားဖြင့် sort</span></span><span>
</span><span><span class="hljs-title function_ invoke__">usort</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>, function(</span><span><span class="hljs-variable">$a</span></span><span>, </span><span><span class="hljs-variable">$b</span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$a</span></span><span>) - </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$b</span></span><span>); </span><span><span class="hljs-comment">// 根据长度တက်နိုင်ရန်</span></span><span>
});
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ထုတ်လုပ်မှု -
<span><span>Array
(
[</span><span><span class="hljs-meta">0</span></span><span>] => date
[</span><span><span class="hljs-meta">1</span></span><span>] => apple
[</span><span><span class="hljs-meta">2</span></span><span>] => banana
[</span><span><span class="hljs-meta">3</span></span><span>] => cherry
)
</span></span>
ဤဥပမာတွင် strlen ($ a) - strlen ($ ခ) strrlen ၏အရှည်အရသိရသည် sort ဖို့အသုံးပြုသည်။
ကျွန်ုပ်တို့တွင်အရာဝတ်ထုများစွာရှိသည်ဟုဆိုပါစို့။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span> </span><span><span class="hljs-title">Person</span></span><span> {
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-variable">$name</span></span><span>;
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-variable">$age</span></span><span>;
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">__construct</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$name</span></span></span><span>, </span><span><span class="hljs-variable">$age</span></span><span>) {
</span><span><span class="hljs-variable language_">$this</span></span><span>->name = </span><span><span class="hljs-variable">$name</span></span><span>;
</span><span><span class="hljs-variable language_">$this</span></span><span>->age = </span><span><span class="hljs-variable">$age</span></span><span>;
}
}
</span><span><span class="hljs-variable">$people</span></span><span> = [
</span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">Person</span></span><span>(</span><span><span class="hljs-string">"Alice"</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>),
</span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">Person</span></span><span>(</span><span><span class="hljs-string">"Bob"</span></span><span>, </span><span><span class="hljs-number">25</span></span><span>),
</span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">Person</span></span><span>(</span><span><span class="hljs-string">"Charlie"</span></span><span>, </span><span><span class="hljs-number">35</span></span><span>),
];
</span><span><span class="hljs-comment">// 按年龄တက်နိုင်ရန်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">usort</span></span><span>(</span><span><span class="hljs-variable">$people</span></span><span>, function(</span><span><span class="hljs-variable">$a</span></span><span>, </span><span><span class="hljs-variable">$b</span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$a</span></span><span>->age - </span><span><span class="hljs-variable">$b</span></span><span>->age;
});
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$people</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$person</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$person</span></span><span>->name . </span><span><span class="hljs-string">" ("</span></span><span> . </span><span><span class="hljs-variable">$person</span></span><span>->age . </span><span><span class="hljs-string">")\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ထုတ်လုပ်မှု -
<span><span>Bob (</span><span><span class="hljs-number">25</span></span><span>)
Alice (</span><span><span class="hljs-number">30</span></span><span>)
Charlie (</span><span><span class="hljs-number">35</span></span><span>)
</span></span>
ဤဥပမာသည်အရာဝတ်ထု၏ဂုဏ်သတ္တိများနှင့်အညီအမည်မသိလုပ်ဆောင်ချက်များကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည်။
PHP တွင် USART () function သည်အလွန်ပြောင်းလွယ်ပြင်လွယ်ရှိသောကိရိယာတစ်ခုဖြစ်သည်။ အမည်မသိလုပ်ဆောင်ချက်များကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ရှုပ်ထွေးသောစိတ်ကြိုက် custom sorting Logic ကိုလျင်မြန်စွာအကောင်အထည်ဖော်နိုင်သည်။ အမည်ဝှက်ပြီးသောလုပ်ဆောင်ချက်များကိုပြန်လည်ခေါ်ဆိုမှုဆိုင်ရာလုပ်ဆောင်ချက်များအနေဖြင့်၎င်းတို့တွင်မည်သည့်အစုအဝေးကိုမျှမလိုအပ်ပါ ။
anonymous function များကိုကိုကျိုးကြောင်းညီညွတ်မှုအားဖြင့် developer များကရိုးရှင်းသောမှရှုပ်ထွေးသောနေရာမှအမျိုးမျိုးသောလိုအပ်ချက်များကိုရရှိနိုင်ပါသည်။