PHP တွင် Parse_ini_String သည် Ini formating strings များကို parse လုပ်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ၎င်းကိုများသောအားဖြင့် configuration data တစ်ခု၏အပိုင်းအစတစ်ခုကို actiretive array အဖြစ်ပြောင်းလဲရန်အသုံးပြုလေ့ရှိသည်။ ဤလုပ်ဆောင်မှုသည်များသောအားဖြင့်ကောင်းမွန်စွာလုပ်ဆောင်နိုင်သော်လည်း၎င်းတွင်အများအားဖြင့်အကန့်အသတ်များနှင့်အထူးကိစ္စရပ်များမှန်ကန်စွာမခွဲနိုင်သည့်အထူးကိစ္စရပ်များလည်းရှိသည်။ Parse_ini_string သည် အချို့သောကြိုးအချို့ကိုမခွဲထုတ်နိုင်ကြောင်းနှင့်ဤပြ problems နာများကိုရှောင်ရှားရန်နည်းလမ်းများမဖြည့်ဆည်းပေးနိုင်သည့်ဤဆောင်းပါးသည်နက်နက်နဲနဲလေ့လာဆန်းစစ်လေ့လာလိမ့်မည်။
Parse_ini_String function သည် Ini configuration ၏ contents ပါ 0 င်သည့် string ကိုယူပြီး PHP ၏အပေါင်းအသင်းခင်းကျင်းမှုတစ်ခုအဖြစ်ခွဲခြမ်းစိတ်ဖြာသည်။ ini configuration files များကိုများသောအားဖြင့် key-value အတွဲများစွာဖြင့်ဖွဲ့စည်းထားလေ့ရှိပြီးတစ် ဦး ချင်းစီသည်တန်းတူသင်္ကေတ ( = ) နှင့်ချိတ်ဆက်ထားသည့်အရာတစ်ခုစီသည်သော့နှင့်တန်ဖိုးများအကြားရှိအခြားခွဲထွက်သူများရှိနိုင်သည်။ ယေဘုယျအားဖြင့်ပြောရလျှင် Parse_ini_String သည် အောက်ပါနှင့်ဆင်တူသည့်ပုံစံများတွင်ကြိုးများကိုကိုင်တွယ်နိုင်သည်။
<span><span><span class="hljs-section">[database]</span></span><span>
</span><span><span class="hljs-attr">host</span></span><span> = localhost
</span><span><span class="hljs-attr">port</span></span><span> = </span><span><span class="hljs-number">3306</span></span><span>
</span><span><span class="hljs-attr">user</span></span><span> = root
</span><span><span class="hljs-attr">password</span></span><span> = secret
</span></span>အောက်ပါကုဒ်ကိုလုပ်ဆောင်ပါ။
<span><span><span class="hljs-variable">$ini_string</span></span><span> = <span class="hljs-string">"
[database]
host = localhost
port = 3306
user = root
password = secret
"</span>;
</span><span><span class="hljs-variable">$config</span></span><span> = </span><span><span class="hljs-title function_ invoke__">parse_ini_string</span></span><span>(</span><span><span class="hljs-variable">$ini_string</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$config</span></span><span>);
</span></span>Associative Array သည် output ဖြစ်လိမ့်မည်။
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[database] => </span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[host] => localhost
[port] => </span><span><span class="hljs-number">3306</span></span><span>
[user] => root
[password] => secret
)
)
</span></span>ကိစ္စရပ်အများစုတွင် Parse_ini_String သည် ကောင်းမွန်စွာလုပ်ဆောင်နေစဉ်တွင် string ကိုမှန်ကန်စွာမခွဲနိုင်သည့်အထူးကိစ္စအချို့ရှိသည်။ ဤတွင်တူညီသောအကြောင်းပြချက်အနည်းငယ်ရှိပါတယ်:
Ini file format သည်သော့ချက်အမည်နှင့်တန်ဖိုးကိုတန်းတူသင်္ကေတ ( = ) သို့မဟုတ်အူ မ ကြီးဖြင့်ခွဲခြားရန်လိုအပ်သည်။ အကယ်. ကြိုးများကိုဤပုံစံဖြင့်တင်းကြပ်စွာမရေးပါက Parse_ini_String သည် ဤအပိုင်းများကိုလျစ်လျူရှုထားသည်။
ဥပမာအားဖြင့်, အောက်ပါတို့ကိုမှန်ကန်စွာခွဲခြားလိမ့်မည်မဟုတ်ပါ။
<span><span><span class="hljs-section">[settings]</span></span><span>
key1 value1
</span><span><span class="hljs-attr">key2</span></span><span> = value2
</span></span>အပေါ်ကဥပမာမှာလိုင်း key1 value1 က မှန်ကန်သော delimiter ကိုမသုံးပါ ။ ဒါကြောင့် Parse_ini_String က ဒီမျဉ်းကိုလျစ်လျူရှုထားတယ်,
Parse_ini_String သည် Multi-Line တန်ဖိုးများကိုမပံ့ပိုးပါ။ ဥပမာအားဖြင့်:
<span><span><span class="hljs-section">[settings]</span></span><span>
</span><span><span class="hljs-attr">multi_line_value</span></span><span> = This is a value
that spans multiple lines.
</span></span>ဤကိစ္စတွင် Parse_ini_String သည် တန်ဖိုးကိုမျဉ်းကြောင်းတစ်ခုတည်းသို့မမှန်မကန်ပါသို့မဟုတ်မျဉ်းကြောင်းမခွဲနိုင်ပါ။
INI format သည် strings များတွင် အထူးအက္ခရာများကိုအသုံးပြုခြင်း , , ဥပမာအားဖြင့်:
<span><span><span class="hljs-section">[settings]</span></span><span>
</span><span><span class="hljs-attr">key</span></span><span> = </span><span><span class="hljs-string">"value with = sign"</span></span><span>
</span></span>အကယ်. သင်သည်ကိုးကားချက်များကိုမသုံးပါက = သော့ချက်တန်ဖိုးအတွဲများအတွက် delimiter အဖြစ်ခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။
ကဏ် sections များသည်စတုရန်းကွင်းများဖြင့်ဝိုင်းရံထားသည့်အစိတ်အပိုင်းများဖြစ်ပြီးပုံမှန်အားဖြင့် configuration ပစ္စည်းများဖွဲ့စည်းရန်အသုံးပြုကြသည်။ အကယ်. အပိုင်းသည်မမှန်ကန်ပါက Parse_ini_String ကို မခွဲနိုင်ပါ။ ဥပမာအားဖြင့်အောက်ပါ configuration file ကိုမမှန်ကန်ပါ။
<span><span><span class="hljs-section">[settings
key = value
</span></span></span>ပိတ်ထားသောစတုရန်းကွင်းခတ်ခြင်းမရှိခြင်းကြောင့် Parse_ini_String သည် အပိုင်းကိုမှန်ကန်စွာခွဲခြား သတ်မှတ်. မရပါ။
Parse_ini_String ကို သေချာစေရန်သေချာစေရန်,
လိုင်းတိုင်းသည် သော့ = တန်ဖိုး သို့မဟုတ် သော့ချက်ကိုလိုက်နာကြောင်းသေချာပါစေနှင့်တန်ဖိုး ပုံစံနှင့်တန်းတူလက္ခဏာများသို့မဟုတ် colon ပျောက်ဆုံးခြင်းကိုရှောင်ကြဉ်ပါ။ အကယ်. သင်သည်နေရာများကိုသော့ချက်အမည်များသို့မဟုတ်တန်ဖိုးများတွင်အသုံးပြုရန်လိုအပ်ပါကကိုးကားချက်များကိုသင့်လျော်စွာအသုံးပြုရန်သေချာအောင်လုပ်ပါ။
<span><span><span class="hljs-section">[key1]</span></span><span> = value
</span><span><span class="hljs-section">[key2]</span></span><span> = "value with space"
</span></span>အကယ်. သင်သည် Multi-Line တန်ဖိုးများကိုကိုင်တွယ်ရန်လိုအပ်ပါကတန်ဖိုးများကို splicing splicing splicing splicing splicing splicting single selides များအဖြစ်အသုံးပြုရန်စဉ်းစားပါ။
<span><span><span class="hljs-section">[key]</span></span><span> = "This is a value
that spans multiple lines."
</span></span>သို့သော် Parse_ini_String သည် Multi-Line တန်ဖိုးများကိုမထောက်ပံ့ကြောင်းကိုသတိရပါ။
ခွဲခြမ်းစိတ်ဖြာခြင်းပြ problems နာများဖြစ်ပေါ်စေနိုင်သောတန်ဖိုးရှိအထူးအက္ခရာများပါ 0 င်ရန်ကိုးကားချက်များကိုသင်အသုံးပြုပါ။ ၎င်းသည်စာလုံးများကို Syntax သင်္ကေတများအဖြစ်နားလည်မှုလွဲခြင်းမှကာကွယ်ပေးသည်။
<span><span><span class="hljs-section">[key]</span></span><span> = "value with special </span><span><span class="hljs-attr">characters</span></span><span> = </span><span><span class="hljs-comment">; #"</span></span><span>
</span></span>အပိုင်းအမည်တစ်ခုချင်းစီကိုစတုရန်းကွင်းခတ်ခြင်းဖြင့်ဝိုင်းရံထားရမည်။
<span><span><span class="hljs-section">[settings]</span></span><span>
</span><span><span class="hljs-attr">key</span></span><span> = value
</span></span>Parse_ini_string နှင့်မကြာခဏပြ problems နာများမကြာခဏပြ problems နာများရှိပါက configuration file ကိုခွဲခြမ်းစိတ်ဖြာရန်အခြားနည်းလမ်းများကိုအသုံးပြုရန်စဉ်းစားနိုင်သည်။ ဥပမာအားဖြင့်, သင်သည် JSON သို့မဟုတ် YAML ပုံစံများကို အသုံးပြု. ခွဲခြမ်းစိတ်ဖြာသည့်အခါ ပို. ပြောင်းလွယ်ပြင်လွယ်နှင့်အမှားခံနိုင်ရည်ရှိကြသည်။
Parse_ini_String သည်အလွန်အသုံးဝင်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ မဖြေရှင်းနိုင်သောပြ problems နာများကြုံတွေ့ရသောအခါ input string ကိုမှန်ကန်စွာပုံစံချပြီး Ini ဖိုင်၏ syntax အသေးစိတ်အချက်အလက်များကိုလိုက်နာရန်သေချာစွာစစ်ဆေးပါ။ Line တန်ဖိုးများ (သို့) အထူးအက္ခရာများကိုအသုံးပြုခြင်းကိုအသုံးပြုခြင်းကိုရှောင်ကြဉ်ခြင်းအားဖြင့် 0 င်ရောက်ခြင်းသည်မ 0 င်ပါ။ ပိုမိုရှုပ်ထွေးသောခွဲခြမ်းစိတ်ဖြာမှုလိုအပ်ပါကပိုမိုကောင်းမွန်သောပြောင်းလွယ်ပြင်လွယ်မှုနှင့်ပမာဏကိုပေးသော JSON သို့မဟုတ် YAML ကဲ့သို့သောအခြားပုံစံများကိုအသုံးပြုရန်စဉ်းစားပါ။