လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> function_exists သုံး. built-in နှင့် custom function များကိုခွဲခြားရန်မည်သို့ခွဲခြားရမည်နည်း။ အသေးစိတ်နည်းလမ်းခွဲခြမ်းစိတ်ဖြာ

function_exists သုံး. built-in နှင့် custom function များကိုခွဲခြားရန်မည်သို့ခွဲခြားရမည်နည်း။ အသေးစိတ်နည်းလမ်းခွဲခြမ်းစိတ်ဖြာ

gitbox 2025-08-26
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဤကုဒ်၏ဤအပိုင်းသည်ဆောင်းပါး၏အကြောင်းအရာများနှင့်လုံးဝမသက်ဆိုင်ပါ,သငျသညျအချို့သောထုတ်ပြန်ချက်များသို့မဟုတ်မှတ်ချက်များချထားနိုင်ပါတယ်</span></span><span>
</span><span><span class="hljs-comment">// ဥပမာအားဖြင့်, အစီအစဉ်စာရေးသူသတင်းအချက်အလက်、အချိန်တံဆိပ်ခေါင်းစသည်</span></span><span>
</span><span><span class="hljs-comment">// Author: ChatGPT</span></span><span>
</span><span><span class="hljs-comment">// Date: 2025-07-02</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

<h1>အဲဒါကိုဘယ်လိုသုံးရမလဲfunction_existsbuilt-in နှင့် custom functions အကြားခွဲခြားလုပ်ဆောင်ချက်များကို?အသေးစိတ်နည်းလမ်းခွဲခြမ်းစိတ်ဖြာ</h1>

<p>တည်နေPHPဖွံ့ဖြိုးရေးစဉ်အတွင်း,我们经常会遇到需要判断某个函数是否存တည်နေ的情况。PHPအလွန်လက်တွေ့ကျတဲ့ function ကိုအတွက်တည်ဆောက်သည် <code></span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>()

function_exists (function) ကိုဆုံးဖြတ်ရန် function_exists () ၏အခြေခံဥပမာ

 &lt;?php
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'array_merge'</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'array_merge 函数存တည်နေ'</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'array_merge 函数不存တည်နေ'</span></span><span>;
}
?&gt;

ဤဥပမာတွင် array_mymerge သည် PHP ၏ built-in function တစ်ခုဖြစ်သည်။ များသောအားဖြင့်တည်ရှိလာလိမ့်မည်။

ကျွန်ုပ်တို့သည် function_exists () ကို တိုက်ရိုက် အသုံးပြု. built-in နှင့် custom function များကိုခွဲခြားရန်ကျွန်ုပ်တို့အဘယ်ကြောင့်တိုက်ရိုက်မသုံးနိုင်သနည်း။

function_exists () သည် function တည်ရှိမှုရှိမရှိရှာဖွေတွေ့ရှိနိုင်သော်လည်း၎င်းသည် function ကို PHP သို့မဟုတ်အသုံးပြုသူသတ်မှတ်ထားသောအတွက်ထည့်သွင်းထားခြင်းရှိမရှိကိုသင်မပြောနိုင်ပါ။ ၎င်းသည် function name ကိုမှတ်ပုံတင်ထားခြင်းရှိမရှိသာဂရုစိုက်သည်။

တနည်းအားဖြင့် function_exists () function_exists () သည် built-in function များနှင့် custom functions များနှင့်ညီမျှခြင်း,

ဒါကြောင့် built-in နှင့် custom function များကိုခွဲခြားရန်ဘယ်လို?

built-in နှင့် custom function များကိုခွဲခြားရန်၎င်းကို Get_Defines_Functions () function ကို တွဲဖက်. အသုံးပြုနိုင်သည်။

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

  • Internal : Built-in function name array အားလုံး
  • အသုံးပြုသူ - အသုံးပြုသူသတ်မှတ်ထားသော function name array အားလုံး

နမူနာကုဒ်:

 &lt;?php
</span><span><span class="hljs-variable">$allFunctions</span></span><span> = </span><span><span class="hljs-title function_ invoke__">get_defined_functions</span></span><span>();

</span><span><span class="hljs-variable">$functionName</span></span><span> = </span><span><span class="hljs-string">'array_merge'</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-variable">$functionName</span></span><span>)) {
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">in_array</span></span><span>(</span><span><span class="hljs-variable">$functionName</span></span><span>, </span><span><span class="hljs-variable">$allFunctions</span></span><span>[</span><span><span class="hljs-string">'internal'</span></span><span>])) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$functionName</span></span></span><span> ဒါဟာ built-in function ကိုပါ";
    } </span><span><span class="hljs-keyword">elseif</span></span><span> (</span><span><span class="hljs-title function_ invoke__">in_array</span></span><span>(</span><span><span class="hljs-variable">$functionName</span></span><span>, </span><span><span class="hljs-variable">$allFunctions</span></span><span>[</span><span><span class="hljs-string">'user'</span></span><span>])) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$functionName</span></span></span><span> ဒါဟာထုံးစံ function ကိုပါ";
    } </span><span><span class="hljs-keyword">else</span></span><span> {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$functionName</span></span></span><span> 存တည်နေ,ဒါပေမယ့် classified မ";
    }
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$functionName</span></span></span><span> 不存တည်နေ";
}
?&gt;

ပြည့်စုံသောဥပမာ - ထုံးစံလုပ်ဆောင်ချက်များကိုနှင့် built-in functions များအကြားခြားနားချက်

 &lt;?php
</span><span><span class="hljs-comment">// Custom function ကိုဥပမာ</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">my_custom_func</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">'这ဒါဟာထုံးစံ function ကိုပါ'</span></span><span>;
}

</span><span><span class="hljs-variable">$allFunctions</span></span><span> = </span><span><span class="hljs-title function_ invoke__">get_defined_functions</span></span><span>();

</span><span><span class="hljs-comment">// built-in လုပ်ဆောင်ချက်များကိုစစ်ဆေးပါ</span></span><span>
</span><span><span class="hljs-variable">$func1</span></span><span> = </span><span><span class="hljs-string">'strlen'</span></span><span>;
</span><span><span class="hljs-comment">// ထုံးစံလုပ်ဆောင်ချက်များကိုစစ်ဆေးပါ</span></span><span>
</span><span><span class="hljs-variable">$func2</span></span><span> = </span><span><span class="hljs-string">'my_custom_func'</span></span><span>;
</span><span><span class="hljs-comment">// 检查不存တည်နေ函数</span></span><span>
</span><span><span class="hljs-variable">$func3</span></span><span> = </span><span><span class="hljs-string">'non_exist_func'</span></span><span>;

</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">checkFunctionType</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$funcName</span></span></span><span>, </span><span><span class="hljs-variable">$allFunctions</span></span><span>) {
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-variable">$funcName</span></span><span>)) {
        </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">in_array</span></span><span>(</span><span><span class="hljs-variable">$funcName</span></span><span>, </span><span><span class="hljs-variable">$allFunctions</span></span><span>[</span><span><span class="hljs-string">'internal'</span></span><span>])) {
            </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$funcName</span></span></span><span> ဒါဟာ built-in function ကိုပါ\n";
        } </span><span><span class="hljs-keyword">elseif</span></span><span> (</span><span><span class="hljs-title function_ invoke__">in_array</span></span><span>(</span><span><span class="hljs-variable">$funcName</span></span><span>, </span><span><span class="hljs-variable">$allFunctions</span></span><span>[</span><span><span class="hljs-string">'user'</span></span><span>])) {
            </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$funcName</span></span></span><span> ဒါဟာထုံးစံ function ကိုပါ\n";
        } </span><span><span class="hljs-keyword">else</span></span><span> {
            </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$funcName</span></span></span><span> 存တည်နေ,ဒါပေမယ့် classified မ\n";
        }
    } </span><span><span class="hljs-keyword">else</span></span><span> {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$funcName</span></span></span><span> 不存တည်နေ\n";
    }
}

</span><span><span class="hljs-title function_ invoke__">checkFunctionType</span></span><span>(</span><span><span class="hljs-variable">$func1</span></span><span>, </span><span><span class="hljs-variable">$allFunctions</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">checkFunctionType</span></span><span>(</span><span><span class="hljs-variable">$func2</span></span><span>, </span><span><span class="hljs-variable">$allFunctions</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">checkFunctionType</span></span><span>(</span><span><span class="hljs-variable">$func3</span></span><span>, </span><span><span class="hljs-variable">$allFunctions</span></span><span>);
?&gt;

အထက်ပါကုဒ်ကို run ပါ။

 strlen ဒါဟာ built-in function ကိုပါ
my_custom_func ဒါဟာထုံးစံ function ကိုပါ
non_exist_func 不存တည်နေ

အကျဉ်းချုပ်

  • function_exists () function ကိုသတ်မှတ်ထားသည့် function ကိုသတ်မှတ်ခြင်းရှိမရှိရှာဖွေတွေ့ရှိနိုင်သော်လည်း built-in နှင့် custom function များကို ခွဲခြား. မရပါ။
  • System ၏လုပ်ဆောင်ချက်များကို get_defines_Frofble_rofunctions () ကိုရယူပါ။
  • ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ပြီး function တစ်ခုတည်ရှိမှုရှိမရှိနှင့်၎င်းကိုတည်ဆောက်ထားသောသို့မဟုတ်စိတ်ကြိုက်ပြုလုပ်ထားခြင်းရှိမရှိကိုကျွန်ုပ်တို့တိကျစွာဆုံးဖြတ်နိုင်သည်။

အထက်ပါနည်းလမ်းများရေးဆွဲခြင်းသည် PHP Development တွင် function နှင့်သက်ဆိုင်သောယုတ္တိဗေဒကိုပိုမိုကိုင်တွယ်ရန်ခွင့်ပြုလိမ့်မည်။