လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> သတ်မှတ်ထားသော () နှင့်ထုတ်ပေးခြင်း () လုပ်ဆောင်ချက်များအကြားခြားနားချက်ကဘာလဲ။ ဘယ်အချိန်မှာသတ်မှတ် () ကိုဘယ်အချိန်မှာသုံးသင့်သလဲ။

သတ်မှတ်ထားသော () နှင့်ထုတ်ပေးခြင်း () လုပ်ဆောင်ချက်များအကြားခြားနားချက်ကဘာလဲ။ ဘယ်အချိန်မှာသတ်မှတ် () ကိုဘယ်အချိန်မှာသုံးသင့်သလဲ။

gitbox 2025-06-15

<span><span><span class="hljs-meta"><?php</span></span><span> </span><span><span class="hljs-comment">// 前面与文章内容无关的部分</span></span><span> </span><span><span class="hljs-meta">?></span></span><span> <hr> </span><span><span class="hljs-comment">### [defined() 和 isset() 函数有什么区别?什么时候该用 defined()?]</span></span><span> 在 PHP 编程中,`</span><span><span class="hljs-title function_ invoke__">defined</span></span><span>()` 和 `</span><span><span class="hljs-keyword">isset</span></span><span>()` 都是用于检查某个值的状态的函数,但它们各自的用途和工作原理有很大的不同。理解这两个函数的区别,能帮助我们在编写 PHP 代码时选择适当的函数来处理变量和常量的检查。下面我们来详细讨论这两个函数的区别以及它们各自的适用场景。 </span><span><span class="hljs-comment">#### 1. `defined()` 函数</span></span><span> `</span><span><span class="hljs-title function_ invoke__">defined</span></span><span>()` 是一个用来检查常量是否已经定义的函数。常量是在程序中定义一次后不可更改的值,而 `</span><span><span class="hljs-title function_ invoke__">defined</span></span><span>()` 用于判断某个常量是否已经被定义。 **语法:** ```php </span><span><span class="hljs-title function_ invoke__">defined</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$name</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span> </span></span>

  • $ name သည် check လုပ်ထားရန်အဆက်မပြတ်အမည် (string ကို) ဖြစ်သည်။

  • ပြန်လာတန်ဖိုး - စဉ်ဆက်မပြတ်သတ်မှတ်ထားသည့်အတိုင်းပြန်လည်ထူထောင် ခြင်း , မဟုတ်ရင် မှားယွင်းတဲ့ ပြန်လာ။

ဥပမာ -

 <span><span><span class="hljs-title function_ invoke__">define</span></span><span>(</span><span><span class="hljs-string">'MY_CONSTANT'</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">defined</span></span><span>(</span><span><span class="hljs-string">'MY_CONSTANT'</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'မြဲစဲှ MY_CONSTANT သတ်မှတ်ခဲ့ကြသည်。'</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">'မြဲစဲှ MY_CONSTANT undefined。'</span></span><span>;
}
</span></span>

ထုတ်လုပ်မှု -

 <span><span>မြဲစဲှ MY_CONSTANT သတ်မှတ်ခဲ့ကြသည်。
</span></span>

2 ။ ISSET () function ကို

အဆိုပါ isiveret () function ကို variable ကို set တစ်ခု ရှိမရှိစစ်ဆေးရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်မှုသည်များသောအားဖြင့် variable တစ်ခုတည်ရှိပြီးတန်ဖိုးတစ်ခုရှိမရှိစစ်ဆေးရန်အသုံးပြုသည်။

သဒ္ဒါ:

 <span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-keyword">mixed</span></span><span> </span><span><span class="hljs-variable">$var</span></span><span>, </span><span><span class="hljs-keyword">mixed</span></span><span> ...</span><span><span class="hljs-variable">$vars</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span>
</span></span>
  • parameters များ - $ var variable ကိုစစ်ဆေးရန် variable ကိုဖြစ်ပါတယ်, ၎င်းသည်တစ်ခုတည်း variable သို့မဟုတ် variable တွေကိုဖြစ်နိုင်ပါတယ်။

  • Reward Value: ပေးထားသော variable တွေကိုအားလုံးသတ်မှတ်ထားပါက Reward Reward Reward Reward)

ဥပမာ -

 <span><span><span class="hljs-variable">$var</span></span><span> = </span><span><span class="hljs-string">'Hello'</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$var</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'ပေြာင်းလဲတတ်သော $var set နှင့်တန်ဖိုးမပါ null。'</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">'ပေြာင်းလဲတတ်သော $var မသတ်မှတ်သို့မဟုတ်အဖြစ် null。'</span></span><span>;
}
</span></span>

ထုတ်လုပ်မှု -

 <span><span>ပေြာင်းလဲတတ်သော $</span><span><span class="hljs-keyword">var</span></span><span> set နှင့်တန်ဖိုးမပါ </span><span><span class="hljs-literal">null</span></span><span>。
</span></span>

3 ။ သတ်မှတ်ထားသော () နှင့် ထုတ်ပေးခြင်းတို့အကြားကွာခြားချက် ()

  • သရုပ်ဆောင်အရာဝတ်ထု - သတ်မှတ်ထားသည့် () သည်စဉ်ဆက်မပြတ်သတ်မှတ်ထားသည့်အတိုင်း အမြဲတမ်း သတ်မှတ်ထားခြင်းရှိမရှိကိုသာအသုံးပြုသည်

  • သက်ဆိုင်သည့်အခြေအနေများ - သတ်မှတ်ထားသော () ကိုအဓိကအားဖြင့် Constants အတွက်အသုံးပြုသည်။ ( ဥပမာကမ္ဘာလုံးဆိုင်ရာ variable များ, array element များ,

  • Value Type: ISSET မှစစ်ဆေးထားသောအရာဝတ်ထုသည် variable တစ်ခု၏တန်ဖိုးသည် variable တစ်ခု၏တန်ဖိုးဖြစ်ပြီး Null တန်ဖိုးကိုများသောအားဖြင့်လျစ်လျူရှုထားသည်။ သတ်မှတ်ထားသော () စဉ်ဆက်မပြတ်တည်ရှိရှိမရှိစစ်ဆေးပါ။

4 ။ သတ်မှတ်ထားသောအခါ () အသုံးပြုရမည်နည်း။

သတ်မှတ်ထားသော () ကို အဓိကအားဖြင့်စဉ်ဆက်မပြတ်သတ်မှတ်ထားခြင်းရှိမရှိစစ်ဆေးရန်အသုံးပြုသည်။ ၎င်းသည်အောက်ပါအခြေအနေများတွင်အထူးအသုံးဝင်သည်။

  • အစဉ်အလာကိုထပ်ခါတလဲလဲသတ်မှတ်ခြင်းကိုရှောင်ကြဉ်ပါ

     <span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">defined</span></span><span>(</span><span><span class="hljs-string">'MY_CONSTANT'</span></span><span>)) {
        </span><span><span class="hljs-title function_ invoke__">define</span></span><span>(</span><span><span class="hljs-string">'MY_CONSTANT'</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>);
    }
    </span></span>
  • PHP မူဘောင် များ သို့မဟုတ်စာကြည့်တိုက်များစွာသည် configuration options များကိုသတ်မှတ်ရန် PHP frameworks သို့မဟုတ်စာကြည့်တိုက်များစွာကိုအသုံးပြုသည်။ အချို့သောအခြေအနေများသတ်မှတ်ထားသည့်အခြေအနေများကိုသတ်မှတ်ပြီးလက်ရှိပြင်ဆင်မှုတန်ဖိုးများကို overwrite လုပ်ခြင်းမရှိမရှိစစ်ဆေးရန်လိုအပ်သည့်အခြေအနေများကြုံတွေ့ရနိုင်သည်။

  • ခြွင်းချက်မရှိအဓိပ္ပာယ်သတ်မှတ်ခြင်း - တစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့သည်ကွဲပြားခြားနားသောလည်ပတ်မှုပတ် 0 န်းကျင်အရကွဲပြားခြားနားသောကိန်းဂဏန်းများကိုသတ်မှတ်ကြသည်။ ကွဲပြားခြားနား သော ပတ်ဝန်းကျင်နှင့်အညီ,

     <span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">defined</span></span><span>(</span><span><span class="hljs-string">'ENVIRONMENT'</span></span><span>)) {
        </span><span><span class="hljs-title function_ invoke__">define</span></span><span>(</span><span><span class="hljs-string">'ENVIRONMENT'</span></span><span>, </span><span><span class="hljs-string">'production'</span></span><span>);
    }
    </span></span>

5 ။ ISSET ကို ဘယ်အချိန်မှာသုံးရမလဲ။

variable ကို set နှင့် null မဟုတ်စစ်ဆေးရန် ISISTET () ကို စစ်ဆေးရန်အသုံးပြုသည်။ ပုံစံတင်သွင်းမှုများ, array element များနှင့်ကမ္ဘာလုံးဆိုင်ရာ variable တွေကိုကိုင်တွယ်ဖြေရှင်းသည့်အခါ၎င်းသည်အသုံးဝင်သည်။ ဤတွင်အချို့သောဘုံအသုံးပြုမှုအခြေအနေများမှာ -

  • Form input ကို Check: user input ကိုအသုံးပြုခြင်း, is aspros () ကို အသုံးပြုခြင်းသည် Form field ကိုအချည်းနှီးဖြစ်စေရန်သေချာစေသည်။

     <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>])) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'အသုံးပြုသူ:'</span></span><span> . </span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'username'</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">'အသုံးပြုသူ未提交。'</span></span><span>;
    }
    </span></span>
  • Array Elements များကိုစစ်ဆေးပါ။ array ရှိသော့ချက်ရှိ သည့် သော့သည်တည်ရှိပြီးတန်ဖိုး မရှိသေးပါ

     <span><span><span class="hljs-variable">$arr</span></span><span> = [</span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'John'</span></span><span>, </span><span><span class="hljs-string">'age'</span></span><span> =&gt; </span><span><span class="hljs-literal">null</span></span><span>];
    
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>[</span><span><span class="hljs-string">'name'</span></span><span>])) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'နံမယ်:'</span></span><span> . </span><span><span class="hljs-variable">$arr</span></span><span>[</span><span><span class="hljs-string">'name'</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">'နံမယ်未设置。'</span></span><span>;
    }
    </span></span>
  • အရာဝတ်ထုဂုဏ်သတ္တိများကိုစစ်ဆေးပါ

     <span><span><span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span> </span><span><span class="hljs-title">User</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-variable">$user</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">User</span></span><span>();
    
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$user</span></span><span>-&gt;name)) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'အသုံးပြုသူ:'</span></span><span> . </span><span><span class="hljs-variable">$user</span></span><span>-&gt;name;
    } </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></span><span>;
    }
    </span></span>

အကျဉ်းချုပ်

  • စဉ်ဆက်မပြတ်သတ်မှတ်ထားခြင်းရှိမရှိကို သတ်မှတ်ခြင်း () ကို သတ်မှတ်ရန်အသုံးပြုသည်။

  • isiveret () variable ကို set နှင့် null မဟုတ်ကြောင်းစစ်ဆေးရန်အသုံးပြုသည်, variable ကိုစစ်ဆေးရန်သင့်လျော်သည်။

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်သင့်လျော်သော function ကိုရွေးချယ်ခြင်းလိုအပ်ချက်များနှင့်အညီရွေးချယ်ခြင်းသည် code ၏အားကောင်းသောနှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေနိုင်သည်။ အကယ်. သင် သတ်မှတ်ထားသော () ကို အမြဲတမ်းသတ်မှတ်ထားသည့်အခါ () ကိုစစ်ဆေးပါက, အကယ် . သင်သည် variable များကိုစစ်ဆေးပါက,

 <span><span><span class="hljs-comment">// ဆောင်းပါး၏အကြောင်းအရာနှင့်မသက်ဆိုင်သောအောက်ပါအပိုင်း</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>