Settype () PHP တွင် into in-in function တစ်ခုဖြစ်ပြီးသတ်မှတ်ထားသောအမျိုးအစားသို့ variable အမျိုးအစားကိုပြောင်းလဲပေးသည်။ အခြေခံ syntax ဖြစ်ပါတယ်:
<span><span><span class="hljs-title function_ invoke__">settype</span></span><span>(</span><span><span class="hljs-variable">$variable</span></span><span>, </span><span><span class="hljs-variable">$type</span></span><span>);
</span></span>
$ Variable သည်အမျိုးအစားများအဖြစ်ပြောင်းလဲရန်လိုအပ်သည့် variable ကိုဖြစ်သည်။
$ type သည်ပစ်မှတ်အမျိုးအစားဖြစ်ပြီးထောက်ပံ့ထားသောအမျိုးအစားများတွင် - Bool , Int , float , string , string , array ,
SetTTYPE () function ၏ function သည် variable အသစ်တစ်ခုကိုပြန်ပို့မည့်အစားမူရင်း variable အမျိုးအစားကိုတိုက်ရိုက်ပြုပြင်ရန်ဖြစ်သည်။
အဆိုပါ flanprintf () function ကိုသတ်မှတ်ထားသောပုံစံအရပုံစံချထားသော string ကိုပြန်ပို့ရန်အသုံးပြုသည်။ အခြေခံ syntax ဖြစ်ပါတယ်:
<span><span><span class="hljs-title function_ invoke__">sprintf</span></span><span>(</span><span><span class="hljs-variable">$format</span></span><span>, </span><span><span class="hljs-variable">$arg1</span></span><span>, </span><span><span class="hljs-variable">$arg2</span></span><span>, ...);
</span></span>
$ format သည် output content ၏ပုံစံကိုသတ်မှတ်ပေးသော format string တစ်ခုဖြစ်သည်။
$ arg1, $ arg2 ... ... parameters တွေကို format ချဖို့ parameters တွေကိုဖြစ်ကြသည်။
Sprintf () သည် output strings များကိုတိကျစွာထိန်းချုပ်နိုင်ပြီးနံပါတ်များ, ကြိုးများ, နေ့စွဲများစသည်တို့ကဲ့သို့သောပုံစံချခြင်းအမျိုးမျိုးကိုထောက်ပံ့နိုင်သည်
SetTTYPE () နှင့် Sprintf () ကိုပေါင်းစပ်သည့်အခါဒေတာပုံစံများကိုလုပ်ဆောင်သောအခါအမျိုးအစားပြောင်းလဲခြင်းနှင့် format output ကိုတစ်ပြိုင်နက်တည်းလုပ်ဆောင်ရန်လိုအပ်သည်။ အောက်ဖော်ပြပါသည်ပုံမှန် application အခြေအနေများဖြစ်သည်။
တခါတရံတွင်ကျွန်ုပ်တို့သည် variable တစ်ခုသို့မဟုတ် floating point နံပါတ်နှင့် output တစ်ခုသို့ပြောင်းလဲရန်လိုအပ်သည့် Decimal Point ပြီးနောက်ဒ decimal မနေရာ 2 ခုကိုထိန်းသိမ်းထားခြင်းသို့မဟုတ် output နံပါတ်များကိုအကျယ်နှင့်ချိန်ညှိခြင်းကဲ့သို့သောတိကျတဲ့ပုံစံဖြင့်ပြောင်းလဲရန်လိုအပ်သည်။ ဤလိုအပ်ချက်ကို setterype () နှင့် Sprintf () ပေါင်းစပ်ခြင်းဖြင့်ရရှိနိုင်သည်။
<span><span><span class="hljs-variable">$price</span></span><span> = </span><span><span class="hljs-string">"45.6789"</span></span><span>; </span><span><span class="hljs-comment">// မူရင်းဒေတာ string ကိုဖြစ်ပါတယ်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">settype</span></span><span>(</span><span><span class="hljs-variable">$price</span></span><span>, </span><span><span class="hljs-string">"float"</span></span><span>); </span><span><span class="hljs-comment">// floating အမျိုးအစားသို့ပြောင်းပါ</span></span><span>
</span><span><span class="hljs-variable">$formattedPrice</span></span><span> = </span><span><span class="hljs-title function_ invoke__">sprintf</span></span><span>(</span><span><span class="hljs-string">"စြေး:%.2f"</span></span><span>, </span><span><span class="hljs-variable">$price</span></span><span>); </span><span><span class="hljs-comment">// format output ကို,ဒ decimal မသောနေရာများကိုသိမ်းထားပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formattedPrice</span></span><span>; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:စြေး:45.68</span></span><span>
</span></span>
ဤဥပမာတွင် SetTTYPE () သည် string type ၏ $ ဈေးနှုန်းကို floating type သို့ပထမဆုံးပြောင်းလဲပြီး sprintf () ကို သုံး. decimal မဟုတ်သည့်နေရာနှစ်ခုသို့အသုံးပြုသည်။
ဘဏ် financial ာရေးနှင့်စာရင်းအင်းအချက်အလက်များနှင့်ဆက်ဆံရာတွင်ကျွန်ုပ်တို့သည်နံပါတ်များကိုတစ်ထောင်လုံးတွင်ထည့်သွင်းခြင်းကဲ့သို့သောနံပါတ်များကို format လုပ်ရန်လိုအပ်သည်။ ၎င်းကို setterype () နှင့် Sprintf () ကို ပေါင်းစပ်ခြင်းဖြင့်အလွယ်တကူရရှိနိုင်သည်။
<span><span><span class="hljs-variable">$amount</span></span><span> = </span><span><span class="hljs-string">"1234567.89"</span></span><span>; </span><span><span class="hljs-comment">// string အမျိုးအစားအရေအတွက်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">settype</span></span><span>(</span><span><span class="hljs-variable">$amount</span></span><span>, </span><span><span class="hljs-string">"float"</span></span><span>); </span><span><span class="hljs-comment">// floating အမျိုးအစားသို့ပြောင်းပါ</span></span><span>
</span><span><span class="hljs-variable">$formattedAmount</span></span><span> = </span><span><span class="hljs-title function_ invoke__">sprintf</span></span><span>(</span><span><span class="hljs-string">"%0.2f"</span></span><span>, </span><span><span class="hljs-variable">$amount</span></span><span>); </span><span><span class="hljs-comment">// နံပါတ်များ,ဒ decimal မသောနေရာများကိုသိမ်းထားပါ</span></span><span>
</span><span><span class="hljs-variable">$amountWithComma</span></span><span> = </span><span><span class="hljs-title function_ invoke__">number_format</span></span><span>(</span><span><span class="hljs-variable">$amount</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">"."</span></span><span>, </span><span><span class="hljs-string">","</span></span><span>); </span><span><span class="hljs-comment">// Separator ၏တစ်ထောင်တစ်ထောင်ထည့်ပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"စုပေါင်း:<span class="hljs-subst">{$amountWithComma}</span></span></span><span>"; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:စုပေါင်း:1,234,567.89</span></span><span>
</span></span>
ဤနေရာတွင်ကျွန်ုပ်တို့သည် string ကို floating type သို့ပထမဆုံးပြောင်းလဲပြီးနံပါတ်ကိုတစ်ထောင်လုံးပုံစံဖြင့်ပုံစံသို့ format လုပ်ရန် နံပါတ် (1) ကို သုံးပါ။ ၎င်းကို SetTYPE () နှင့် Sprintf () သည် အတူတကွကောင်းမွန်စွာအလုပ်လုပ်နိုင်ပြီး output format ကိုတိကျစွာထိန်းချုပ်နိုင်ကြောင်းတွေ့မြင်နိုင်သည်။
တစ်ခါတစ်ရံတွင် variable များသည်ကျွန်ုပ်တို့လိုချင်သောအမျိုးအစားမဖြစ်နိုင်ပါ, ၎င်းတို့သည် type-chilned ဖြစ်ရန်လိုအပ်ပြီးလိုအပ်ချက်များနှင့်ကိုက်ညီသောကြိုးများသို့ format လုပ်ရမည်။ ဤလိုအပ်ချက်သည်အချို့ပုံစံပြုပြင်ခြင်းသို့မဟုတ်ဒေတာဘေ့စ်လုပ်ငန်းများ၌အလွန်အသုံးများသည်။
<span><span><span class="hljs-variable">$age</span></span><span> = </span><span><span class="hljs-string">"30"</span></span><span>; </span><span><span class="hljs-comment">// string အမျိုးအစား</span></span><span>
</span><span><span class="hljs-title function_ invoke__">settype</span></span><span>(</span><span><span class="hljs-variable">$age</span></span><span>, </span><span><span class="hljs-string">"int"</span></span><span>); </span><span><span class="hljs-comment">// Integer အမျိုးအစားသို့ပြောင်းပါ</span></span><span>
</span><span><span class="hljs-variable">$greeting</span></span><span> = </span><span><span class="hljs-title function_ invoke__">sprintf</span></span><span>(</span><span><span class="hljs-string">"မင်းအခုနှစ်ပါ %d အသက်အရွယ်"</span></span><span>, </span><span><span class="hljs-variable">$age</span></span><span>); </span><span><span class="hljs-comment">// format output ကို</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$greeting</span></span><span>; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:မင်းအခုနှစ်ပါ 30 အသက်အရွယ်</span></span><span>
</span></span>
ဤဥပမာတွင် SetTTALPE () သည် အသက်အရွယ်အသက်အရွယ် ကို string မှ alpreger type သို့ပြောင်းလဲပြီး Sprintf () ကို အသုံးပြုသည်။
format date နှင့်အချိန် formating sprintf () ကို သုံးပါ။
SetTTYPE () နှင့် Sprintf () ပေါင်းစပ်မှုသည်ကိန်းဂဏန်းတန်ဖိုးများအတွက်မသင့်တော်သော်လည်း, Strtotime () ကို သုံး. DREATE () ကို sprintf () မှတဆင့် output ကို format လုပ်ပါ။
<span><span><span class="hljs-variable">$dateStr</span></span><span> = </span><span><span class="hljs-string">"2025-06-12"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">settype</span></span><span>(</span><span><span class="hljs-variable">$dateStr</span></span><span>, </span><span><span class="hljs-string">"string"</span></span><span>); </span><span><span class="hljs-comment">// 确保是string အမျိုးအစား</span></span><span>
</span><span><span class="hljs-variable">$formattedDate</span></span><span> = </span><span><span class="hljs-title function_ invoke__">sprintf</span></span><span>(</span><span><span class="hljs-string">"ဒီနေ့:%s"</span></span><span>, </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"Yခုနှစ်mလdနေ့"</span></span><span>, </span><span><span class="hljs-title function_ invoke__">strtotime</span></span><span>(</span><span><span class="hljs-variable">$dateStr</span></span><span>)));
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formattedDate</span></span><span>; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:ဒီနေ့:2025ခုနှစ်06လ12နေ့</span></span><span>
</span></span>
Dynamic Formatting:
Sprintf () ကွဲပြားခြားနားသောအခြေအနေများအပေါ် အခြေခံ. Formatted ကြိုးများကို dynamally strings များကိုတည်ဆောက်နိုင်ပြီး၎င်းသည်အမျိုးမျိုးသောသွင်းအားစုများနှင့်ဆက်ဆံရာတွင်အထူးအသုံးဝင်သည်။ ဥပမာအားဖြင့် format ကိုအသုံးပြုသူမှထည့်သွင်းထားသောဂဏန်းအရေအတွက်အပေါ် အခြေခံ. ထိန်းချုပ်ထားသည်။
<span><span><span class="hljs-variable">$number</span></span><span> = </span><span><span class="hljs-number">123</span></span><span>;
</span><span><span class="hljs-variable">$numLength</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>((</span><span><span class="hljs-keyword">string</span></span><span>)</span><span><span class="hljs-variable">$number</span></span><span>);
</span><span><span class="hljs-variable">$formattedNumber</span></span><span> = </span><span><span class="hljs-title function_ invoke__">sprintf</span></span><span>(</span><span><span class="hljs-string">"%0<span class="hljs-subst">{$numLength}</span></span></span><span>d", </span><span><span class="hljs-variable">$number</span></span><span>); </span><span><span class="hljs-comment">// dynamically အရေအတွက်၏အရှည်အရအညီပုံစံကိုညှိ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formattedNumber</span></span><span>; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:123</span></span><span>
</span></span>
အမျိုးအစားပြောင်းလဲခြင်းအမှားအယွင်းများကိုရှောင်ပါ။
settype () ကို အသုံးပြုသောအခါပြောင်းလဲနိုင်သောအမျိုးအစားကိုပြောင်းလဲရန်အမျိုးအစားကိုသေချာစွာစစ်ဆေးပါ။ အကယ်. ပိုမိုကောင်းမွန်သောအမှားအယွင်းများကိုပိုမိုလိုအပ်ပါက is_numeric () နှင့် is_array () is_array (is_array () ကဲ့သို့သောလုပ်ဆောင်မှုများကိုသင်အသုံးပြုနိုင်သည်။
<span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-string">"123abc"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_numeric</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>)) {
</span><span><span class="hljs-title function_ invoke__">settype</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>, </span><span><span class="hljs-string">"int"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ပြောင်းလဲတန်ဖိုးကိုဖြစ်ပါတယ်:<span class="hljs-subst">{$value}</span></span></span><span>"; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:ပြောင်းလဲတန်ဖိုးကိုဖြစ်ပါတယ်:123</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>