Strcspn function သည် PHP တွင် string processing function တစ်ခုဖြစ်သည်။ ၎င်းကိုအဓိကအားဖြင့်ပထမသတ်မှတ်ထားသောစာလုံး၏တည်နေရာကိုတွက်ချက်ရန်အသုံးပြုသည်။ ဒီ function ကို၏ရှေ့ပြေးပုံစံ:
<span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$string</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$mask</span></span><span> )
</span></span>$ string ကို စစ်ဆေးရန် string ကိုဖြစ်ပါတယ်။
$ MASK သည်ဖယ်ထုတ်ရန်လိုအပ်သောစာလုံးများပါ 0 င်သည့် string တစ်ခုဖြစ်သည်။
Strcspn function မှရရှိသောတန်ဖိုးသည် ဒေါ်လာ string ကို $ mask နှင့်ကိုက်ညီသောပထမနေရာတွင်ဖြစ်သည်။ ကိုက်ညီမှုမရှိပါက string ၏အရှည်ကိုပြန်ပို့သည်။
CSV ဖိုင်များနှင့်အလုပ်လုပ်သောအခါလိုင်းတစ်ခုစီမှအချက်အလက်များကိုထုတ်ယူရန်များသောအားဖြင့် CSV ဖိုင်များသည်အထူးသဖြင့်ကော်မာသို့မဟုတ်အသစ်များကဲ့သို့သော delimiters များပါ 0 င်သည်။ ဤအချိန်တွင် strcspn သည် ဤစာလုံးများကိုထိရောက်စွာရှာဖွေရန်နှင့်လုပ်ဆောင်ရန်ကူညီနိုင်သည်။
CSV ဖိုင်ပုံစံများတွင်ကော်မာများ, လိုင်းချိုးများနှင့်ကိုးကားနိုင်သောလယ်ကွင်းများပါ 0 င်သည်။ ဤဖိုင်များကိုပြုပြင်သည့်အခါ, ခွဲထုတ်ခြင်းနှင့်ကွင်းဆင်းပါဝင်မှုကိုရှင်းလင်းစွာခွဲခြားသိမြင်ရန်လိုအပ်ပြီး stricspn function ကိုနယ်ပယ်အတွင်းရှိအချက်အလက်များကိုမှန်ကန်စွာခွဲခြားနိုင်ရန်အတွက်မမှန်မကန်ဇာတ်ကောင်များကိုရှာဖွေရန်အသုံးပြုနိုင်သည်။
CSV ဖိုင်များနှင့်အလုပ်လုပ်စဉ်ကကွင်းအသစ်များပါ 0 င်သောနယ်ပယ်များသို့မဟုတ်လိုင်းများကိုကျော်သွားရန်တစ်ခါတစ်ရံလိုအပ်သည်။ Strcspn ပထမ ဦး ဆုံးအသစ်သောဇာတ်ကောင်ကိုရှာဖွေရန်နှင့်၎င်းကိုကျော်သွားနိုင်သည်။
<span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">'data.csv'</span></span><span>, </span><span><span class="hljs-string">'r'</span></span><span>);
</span><span><span class="hljs-keyword">while</span></span><span> ((</span><span><span class="hljs-variable">$line</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fgets</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>)) !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-variable">$line</span></span><span> = </span><span><span class="hljs-title function_ invoke__">trim</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>); </span><span><span class="hljs-comment">// လိုင်း၏အဆုံးမှာလိုင်းချိုးဖယ်ရှားပါ</span></span><span>
</span><span><span class="hljs-variable">$pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>, </span><span><span class="hljs-string">"\n"</span></span><span>); </span><span><span class="hljs-comment">// Newline တည်နေရာများကိုရှာပါ</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$pos</span></span><span> > </span><span><span class="hljs-number">0</span></span><span>) {
</span><span><span class="hljs-comment">// အချက်အလက်များကိုထုတ်ယူခြင်း</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$pos</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
}
</span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>);
</span></span>ဤဥပမာတွင် strcspn သည်အသစ်အဆန်းဇာတ်ကောင်၏ပထမဆုံးအနေအထားကိုရှာဖွေရန်အသုံးပြုသည် ။
CSV အချက်အလက်များကိုလုပ်ဆောင်သောအခါ, ကျွန်ုပ်တို့သည်ကိုးကားချက်များရှိသောနယ်ပယ်များနှင့်ကြုံတွေ့ရနိုင်ပြီးလယ်ကွင်းအကြောင်းအရာများတွင်ကော်မာများပါ 0 င်နိုင်သည်။ Strcspn ကိုအသုံးပြုပြီးဒီဇာတ်ကောင်တွေကိုကျော်သွားပြီးအချက်အလက်တွေကိုမှန်ကန်တဲ့နေရာမှာခွဲထားဖို့ကျွန်တော်တို့ကိုကူညီပေးနိုင်တယ်။
<span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">'data.csv'</span></span><span>, </span><span><span class="hljs-string">'r'</span></span><span>);
</span><span><span class="hljs-keyword">while</span></span><span> ((</span><span><span class="hljs-variable">$line</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fgets</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>)) !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-comment">// ကိုးကားပြင်ပမဟုတ်သောပထမကော်မာအနေအထားကိုရှာပါ</span></span><span>
</span><span><span class="hljs-variable">$pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>, </span><span><span class="hljs-string">','</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$pos</span></span><span> > </span><span><span class="hljs-number">0</span></span><span>) {
</span><span><span class="hljs-variable">$field</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$pos</span></span><span>); </span><span><span class="hljs-comment">// ပထမလယ်ပြင်ကိုထုတ်ယူပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$field</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
}
</span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>);
</span></span>ဤဥပမာတွင် StRCSPN သည် CSV ဖိုင်တွင်ပထမဆုံးနယ်ပယ်တွင်ပထမဆုံးသော field ကိုထုတ်ယူခြင်းကိုရှောင်ရှားရန်နှင့်မမှန်မကန်အပိုင်းကိုရှောင်ရှားရန် STRCSPN သည် ပထမဆုံးကော်မာ၏တည်နေရာကိုတွေ့ရှိခဲ့သည်။
CSV ဖိုင်တစ်ခုတွင်နယ်ပယ်များတွင်ကော်မာသို့မဟုတ်အခြားအထူးအက္ခရာများပါ 0 င်နိုင်သည်။ StRCSPN ကို နယ်ပယ်တစ်ခုရှိကိုးကားထားသောအစိတ်အပိုင်းများရှိအက္ခရာများကိုရှာဖွေရန် အသုံးပြု. ကွင်းဆင်းအချက်အလက်များကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာရန်အသုံးပြုနိုင်သည်။
<span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">'data.csv'</span></span><span>, </span><span><span class="hljs-string">'r'</span></span><span>);
</span><span><span class="hljs-keyword">while</span></span><span> ((</span><span><span class="hljs-variable">$line</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fgets</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>)) !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-variable">$line</span></span><span> = </span><span><span class="hljs-title function_ invoke__">trim</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>);
</span><span><span class="hljs-variable">$start</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$start</span></span><span> < </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>)) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$line</span></span><span>[</span><span><span class="hljs-variable">$start</span></span><span>] === </span><span><span class="hljs-string">'"'</span></span><span>) {
</span><span><span class="hljs-comment">// လာမယ့်ကိုးကားရဲ့အနေအထားကိုရှာပါ</span></span><span>
</span><span><span class="hljs-variable">$end</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>, </span><span><span class="hljs-string">'"'</span></span><span>, </span><span><span class="hljs-variable">$start</span></span><span> + </span><span><span class="hljs-number">1</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$end</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-comment">// ကိုးကားအမှတ်အသားများအားဖြင့်ဝိုင်းရံနယ်ပယ်ထုတ်ယူ</span></span><span>
</span><span><span class="hljs-variable">$field</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>, </span><span><span class="hljs-variable">$start</span></span><span> + </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-variable">$end</span></span><span> - </span><span><span class="hljs-variable">$start</span></span><span> - </span><span><span class="hljs-number">1</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$field</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-variable">$start</span></span><span> = </span><span><span class="hljs-variable">$end</span></span><span> + </span><span><span class="hljs-number">1</span></span><span>;
}
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-comment">// လာမည့် Separtator သို့မဟုတ် Newline ကိုရှာပါ</span></span><span>
</span><span><span class="hljs-variable">$pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>, </span><span><span class="hljs-string">",\n"</span></span><span>, </span><span><span class="hljs-variable">$start</span></span><span>);
</span><span><span class="hljs-variable">$field</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>, </span><span><span class="hljs-variable">$start</span></span><span>, </span><span><span class="hljs-variable">$pos</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$field</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-variable">$start</span></span><span> += </span><span><span class="hljs-variable">$pos</span></span><span> + </span><span><span class="hljs-number">1</span></span><span>;
}
}
}
</span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>);
</span></span>ဤတွင် Strcspn သည်ခွဲခြမ်းစိတ်ဖြာခြင်းကိုကျော်သွားပြီးကိုးကားထားသောလယ်ကွင်းများကိုပြုပြင်သည့်အခါအချက်အလက်များကိုစနစ်တကျခွဲထုတ်ရန်အသုံးပြုသည်။
CSV ဖိုင်ဒေတာများကိုပြုပြင်သောအခါ stripspn function သည်အလွန်အသုံးဝင်သည်။ ၎င်းသည်အသစ်များ, ကော်မာများသို့မဟုတ်ကိုးကားချက်များစသဖြင့်တိကျသောဇာတ်ကောင်များကိုကျွန်ုပ်တို့အားဆန့်ကျင်။ ကျော်သွားသည်။ ၎င်းသည် အသစ်စက်စက်များပါ 0 င်သည့်သို့မဟုတ်ကော်မာများ separators များကိုကျော်သွားသည်ဖြစ်စေ, STRCSPN ကို စနစ်တကျ အသုံးပြု. ကျွန်ုပ်တို့သည်ရှုပ်ထွေးသော CSV အချက်အလက်များကိုပိုမိုလွယ်ကူစွာပြုလုပ်နိုင်ပြီးတူညီသောခွဲခြမ်းစိတ်ဖြာမှုအမှားများကိုပိုမိုလွယ်ကူစွာလုပ်ဆောင်နိုင်သည်။