ကွန်ပျူတာများပရိုဂရမ်းမင်း

PHP ကိုအလေ့အကျင့်: string ကိုနှိုင်းယှဉ်

PHP ကိုကောင်းသောသတင်းအချက်အလက်ကိုင်တွယ်အပေါ်အာရုံစူးစိုက်သည်။ ဘာသာစကား၏ syntax နှိုင်းယှဉ် functions များ, string ကိုအပြောင်းအလဲနဲ့, နှိုင်းယှဉ်အော်ပရေတာများ၏အပြည့်အဝအလုပ်လုပ်တဲ့ set ကိုကိုယ်စားပြုသည်။

မဆို algorithm ကို - ရွေးချယ်မှုနှင့်လုပ်ရပ်များတစ် sequence ကို။ သင်တစ်ဦးရွေးချယ်မှုစေမတိုင်မီဒါပေမယ့်သင်ကတစ်ခုခုနှင့်အတူကနှိုင်းယှဉ်ဖို့တစ်ခုခုလိုအပ်ပါတယ်။ လိုင်း - အရှိဆုံး, capacious အကျိုးရှိစွာနှင့်လက်တွေ့ algorithm ကိုထိန်းချုပ်မှုယန္တရား။ လိုင်း - ဒေတာတင်ဆက်မှုတစ်ခုမူကွဲ။ တစ်ဦးကဒေတာ - ဤဆို algorithm ကို၏ "စောင့်ရှောက်မှု" ၏အဓိကဘာသာရပ်ဖြစ်ပါသည်။

သာမန်ယုတ္တိဗေဒ "နှိုင်းယှဉ်-action ကို"

ယေဘုယျအားဖြင့်ပြောင်းလဲနေသောစာရိုက်သောလျှာသည်ထိုကဲ့သို့သော PHP ကိုနှိုင်းယှဉ်လိုင်းအဖြစ် data ကိုမကွဲပြားမှု, မများနှင့်အရေအတွက်ကအများကြီးကွဲပြားခြားနားသောမဟုတ်ဘူး။ နံပါတ် - ကသာဂဏန်းပါရှိသည်အခါ, စတဲ့ string ကိုတစ်ခုဖြစ်သည်အချက်နှင့်မည်သည့်ပုံစံ (သင်္ချာသင်္ကေတ) တွင်နံပါတ်များကိုကိုယ်စားပြုဖို့အသုံးမကြောင်းတစ်ခုတည်းဇာတ်ကောင်မရှိ။

kontenkatsii အရေအတွက်ကအလိုအလျောက်လိုင်းနှင့်အတူရောနှောပေါင်းစပ်သွားလေသည် အကယ်. မရှိမေးခွန်းများကိုမေးမွနျးနှင့်မျှမဝှက်ထားသောအမှားများကိုပင်လျှင် gettype () function ကိုကို 'ကိန်း' သို့မဟုတ် '' နှစ်ဆ '' ပေးသည်။

သို့သော် is_int () နှင့် is_numeric () ကိုသုံးပြီးအကြားကွာခြားချက်ရှိပါတယ်။ ပထမဦးဆုံးအအမှန်တရားပေး parameter သည်တစ်ခုကိန်းဖြစ်ပါတယ်အခါ, သာ, ဒုတိယ, သည့်အခါမဆိုနံပါတ်သို့မဟုတ်ဂဏန်း string ကို (variable ကို type ကို '' string ကို '' ဖြစ်တယ်, ဒါပေမဲ့အားလုံးသင်္ချာသင်္ကေတထောက်ပံ့ပါဝင်သည်) ။

တစ်ဦး PHP ကို string ကိုနှိုင်းယှဉ်အော်ပရေတာ (! '' == '' === '' ... '=') အများအပြားသည်အံ့သြဖွယ်တင်ပြနိုင်သလားဘယ်လိုကောင်းတစ်ခုဥပမာ - ဒါကရိုးရှင်းတဲ့ဥပမာဖြစ်ပါတယ်။ အဆိုပါ variable တွေကိုသူတို့ရဲ့အမျိုးအစားကိုပြောင်းလဲနိုင်ပါသည်, သူတို့သည်အစဉ်မပြတ်နံပါတ်များကိုမဟုတ်, လုနီးပါးအမြဲသူတို့ကလိုင်းဖြစ်ပေါ်စေနိုင်ပါသည်။ အစွန်းရောက်အမှု၌ - ကဗလာ string ကိုရလိမ့်မည်။

အထက်ပါအပေါ်အခြေခံပြီးတစ်ဦး PHP ကို string ကိုနှိုင်းယှဉ် function ကိုလူကြိုက်အများဆုံးဖြစ်ပါတယ်။ အတိအကျအဘယ်အရာကိုပြုစုဆုံးဖြတ်, ရွေးချယ်ဖို့။ regular expressions ကိုမှတက်ရရှိနိုင်ရွေးချယ်စရာအများကြီး။

အဆိုပါရရှိနိုင်အလုပ်လုပ်တဲ့နေရာအပိုင်းအခြား

ဈေးအပေါဆုံး, သစ္စာနဲ့လက်တွေ့ကျတဲ့ option ကို - နှစ်ခုအတန်း၏ PHP ကို-နှိုင်းယှဉ်ကောင်းသော "ပြုပါ" function ကို strpos () ဖြစ်ပါတယ်။ အကယ်. အဆိုပါ၏ရလဒ် function ကိုနံပါတ်တစ်ခု, ထို့နောက်ရှင်းရှင်းလင်းလင်းတဦးတည်း string ကိုအခြားအခြားသောသို့မဟုတ်အစိတ်အပိုင်းတစ်ခုနှင့်ညီမျှသည်။

အခြေခံကျကျဆန့်ကျင်ဘက်, ဒါပေမယ့်လည်းလုံးဝလက်ျာဘက်ချဉ်းကပ်မှု - regular expressions ကိုအသုံးပြုခြင်း။

function ကို $ cResult = scCheckFileName ($ cStr) 'စစ်မှန်တဲ့' 'ပေးသည်လျှင်, မျဉ်းဖိုင်ကို vordovsky ၏နာမတော်သည်။ '-' 'သာအက္ခရာများ, ဂဏန်းနှင့်ဇာတ်ကောင်' '_': သူတစ်ဦးတည်းသာချဲ့ထွင်၏ option ကို '' .docx 'နှင့်နာမ၌အဘယ်သူမျှမဇာတ်ကောင်ရပါလိမ့်မယ်။

အဆိုပါ function ကိုအလွယ်တကူဖိုင်တွေတခြားအမျိုးအစားများအဖြစ်ပြောင်းလဲနိုင်ပါတယ်: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u '' ။ ဤသည်မူကွဲ html, JS, css များအတွက်အကွာအဝေးစကင်ကိုလိုင်းဒေါင်းလုဒ်လုပ်လို့ (ဥပမာ, PHP ကို string ကိုနှိုင်းယှဉ် "input ကိုအမှားမရှိအခွင့်အလမ်းနှင့်အတူတစ်ဆာဗာဖိုင်တွေ upload ရန်" လျှောက်ထားတာဖြစ်ပါတယ်), ကိုတိုးချဲ့ ...

) (ထို strpos အသုံးပြုခြင်း () နှင့် preg_match - အစွန်း။ သူတို့ကနှိုင်းယှဉ်ကာလ၏ပြဿနာကိုတိုက်ရိုက်ဆက်စပ်မရှိကြပေ။ ဒါပေမယ့် algorithm ကို၏မေးခွန်းကို - တစ်ဦးယုံကြည်စိတ်ချရသောနှင့်မှန်ကန်သောရလဒ်အောင်မြင်ရန်အပေါင်းတို့, အခွင့်အလမ်းအသုံးပြုခြင်းကိုစတိုင်လ်ပေါင်းစပ်အသုံးပြုခြင်း၏ကိစ္စဖြစ်ပါတယ်။

functional PHP ကို: string ကိုနှိုင်းယှဉ်

စင်ကြယ်သော, နှိုင်းယှဉ် function ကိုမသာ, ဒါပေမယ့်လည်းတိုက်ရိုက်ရှာဖွေရေးသို့မဟုတ်အစားထိုးပေါင်းစပ် - အာဆင်နယ်ဘာသာစကားညှို့နှိုင်းယှဉ်။ အဆုံးစွန်သောသေချာပေါက်မဆိုအတန်းထဲမှာအပြောင်းအလဲကိုဦးတည်သွားစေပါဘူးကတည်းကနှိုင်းယှဉ်နှင့်အတူတိုက်ဆိုင်ရမယ်အမြဲပြုမူဘူး။ မကြာခဏသင်တဦးတည်းဒါမှမဟုတ် algorithm ကို၏အခြားဌာနခှဲကိုရွေးချယ်ဖို့ရှိသည်။

ပုံမှန်မူကွဲ PHP ကို: string ကိုနှိုင်းယှဉ် function ကို int strcmp (S1, S2) ကိုလုပ်ဆောင်တယ်။

function ကို၏ရလဒ်:

  • 0 င် - လိုင်းတန်းတူပါ၏
  • -1 - ပထမ string ကိုဒုတိယထက်လျော့နည်းလျက်ရှိ၏
  • 1 - ဒုတိယအတန်းထက်ပထမဦးဆုံးပို။

လက်တွေ့တွင်ဤဒုတိယဖို့ပထမဦးဆုံးအတန်းများ၏အစိတ်အပိုင်း, အရာကနေ PHP ကို function ကို (နှိုင်းယှဉ်တန်း) ဆုံးဖြတ်တာကိုဆိုလိုတယ်။ strpos ၏တစ်ဦးထက်ပိုသောကန့်သတ်ဗားရှင်း (), အဆုံးစွန်သောအမှု၌က entry ကို၏အနေအထားကိုသိရန်ဖြစ်နိုင်သောကြောင့်။

strcmp () function ကို - အထိခိုက်မခံ။ သင် string ကို-ထုံထိုနှိုင်းယှဉ်ချင်တယ်ဆိုရင်, PHP ကို) (၎င်း၏ strcasecmp ပေးထားပါတယ်။ အဆိုပါ syntax ဆင်တူသည်။

လက်တွေ့တွင်မကြာခဏတစ်ခုလုံးကိုလိုင်း, ဒါပေမယ့်သူကသာတစိတ်တပိုင်းနှင့်အတူမလုပ်ကိုင်ဖို့လိုအပ်သည်။ လုပ်ငန်းဆောင်တာက PHP (string ကိုနှိုင်းယှဉ်) ၏ဤအစုများအတွက် strncmp (S1, S2, N) တို့ပါဝင်သည်။ တတိယ parameter သည်သတ်မှတ်ပေးသည်နှိုင်းယှဉ်သာ N-bytes လုပ်ဆောင်။ အဆိုပါရလဒ်) (အလားတူ strcmp ဖြစ်ပါတယ်။

array, string နှင့်နှိုင်းယှဉ်

ဤရွေ့ကားနီးပါးအမြဲညှို့အားဖြင့်ကိုယ်စားပြုနေကြသည်။ ကျနော်တို့က Array ကို, အရာဝတ္ထု, ဒါမှမဟုတ်ဒေတာအဆောက်အဦများထည့်သွင်းစဉ်းစားပါကရိုးရှင်းတဲ့ string ကိုအဆောက်အဦများ၏ပေါင်းစပ့်ကွဲပြားခြားနားသောမျိုးကွဲဖြစ်ပါတယ်။

string သည် array နှင့်အတန်းတစ်ဦးဖြည့်စွတ်ထုံးစံ၌ပေးအပ်နိုင်ပါတယ်။ တစ်ဦး string ကို function ကို implode (စစ်ခင်းကျင်း, သင်္ကေတ) သို့စစ်ခင်းကျင်း၏ေူပာင်းလဲရေးကိုဥပမာ: $ margins1 = implode ( ',', $ style-> getInnerMargin ()); ... အ algorithm ကို / အသုံးပြုသူ ... ; $ Margins2 = implode ( ',', $ style-> getInnerMargin ()) သင် string ကိုအနေအထားအတွက်အရာဝတ္ထုအနေအထားများအားလုံးပေါင်းစည်းဖို့ခွင့်ပြုပါတယ်။

သငျသညျထို့နောက် PHP ကို string ကိုနှိုင်းယှဉ်လုပ်ဆောင်ပါနှင့်တစ်ကြိမ်နိုင်သည် $ စစ်ဆေးမှုများ = strcmp ($ margins1, $ margins2) နှင့် algorithm သို့မဟုတ်အရာတစ်ခုခုကိုပြောင်းလဲခဲ့ (သို့မဟုတ်မပါ) သောအသုံးပြုသူသေချာပါစေ။ သင်ပုံမှန်အတိုင်းလမ်းအတွက်တစ်ဦးနှိုင်းယှဉ်လုပ်ဆောင်လျှင်သင်ခင်းကျင်းဒြပ်စင် sort ဖို့ရှိသည်လိမ့်မယ်။ ဒါဟာအချိန်ပိုကြာနှင့်ပိုပြီးရှုပ်ထွေးဖြစ်ပါတယ်။

အရာဝတ္ထုနှင့်လိုင်း

ပို. ပင်အံ့မခန်းအသုံးပြုမှုကို PHP ကို (string ကိုနှိုင်းယှဉ်) object-oriented အတွေးအခေါ်များကနေတဆင့်အကောင်အထည်ဖော်နိုင်ပါတယ်။

အဆိုပါအဆောက်အဦ၏ခေတ်သစ်စိတ်ကူးသူတို့ဂုဏ်သတ္တိများနှင့်နည်းစနစ်များရှိသည်အကြံပြုထားသည်။ ယခင်ပုံမှန်အားဖြင့်နံပါတ်များ, ညှို့, array နှင့်အခြားအရာဝတ္ထုအားဖြင့်ကိုယ်စားပြုနေကြသည်။ အဆုံးစွန်သောမကြာခဏပြန်လည်နာလန်ထူလိုင်းနှင့် line ကနေမှတ်တမ်းတင်နည်းစနစ် (ထား) (ရ) တို့ပါဝင်သည်။

Array ကိုမတူဘဲ, အရာဝတ္ထုမိမိတို့ကိုယ်ပိုင်ဂုဏ်သတ္တိများနှင့်အတူအလုပ်မများနှင့်အခြားအရာဝတ္ထုတွေနဲ့အပြန်အလှန်ဆက်သွယ်။ ၎င်း၏ဂုဏ်သတ္တိများတစ်ခုလုံးအတိုင်းအစီအစဉ်၏ algorithm ကိုများအတွက်အစစ်အမှန်တန်ဖိုးရှိပါတယ်ရသော object "အရည်အချင်း" ။

ဤသည်ယခုအချိန်တွင်တစ်ဦး string ကိုမှတ်တမ်းတင်သည့်အခါမှသာလိုအပ်သောသတင်းအချက်အလက်ကိုအခြေခံများနှင့်မှတ်တမ်းတင်ဖို့အခွင့်အလမ်းကိုပေးစွမ်းသည်နှင့်, လိုင်းများ၏ပြန်လည်ထူထောင်ရေးအတွက်အလိုရှိသောပြည်နယ်အပေါင်းတို့၌အလုပ်လုပ်ကိုင်ဂုဏ်သတ္တိများ restore ရန်။ အများအားဖြင့်, မည်သည့်အရာဝတ္ထုရှိသိသိသာသာသတင်းအချက်အလက်များသည်နှင့် (အချိန်) အလုပ်မလုပ်။ ဒီအယူအဆများ၏အကောင်အထည်ဖော်မှုသငျသညျကိုသာမှတ်ဉာဏ်, disk space ကို, ထိုဒေတာဘေ့စစံချိန်, ဒါပေမယ့်လည်းလိုင်းများရိုးရှင်းတဲ့နှင့်ပိုပြီးတိကျမှုနည်းလမ်းများနှိုင်းယှဉ်ဖို့ကဖြစ်နိုင်ခြေစေသည်ကယ်ဖို့ခွင့်ပြုပါတယ်။

syntax နှင့် semantic

PHP ကိုသည် dynamically ဖွံ့ဖြိုးဆဲသည်နှင့်၎င်း၏လုပ်ဆောင်နိုင်စွမ်းကိုနှိုင်းယှဉ်ညှို့၏စည်းကမ်းချက်များနှင့်အဆက်မပြတ်နှစ်ဦးစလုံးဟာသူတို့ရဲ့ကုသမှု၏စည်းကမ်းချက်များ၌တိုးတက်လာသည်။ သို့သော်ဘာမျှမ semantic ၏ဧရိယာ၌ဆွဲငင်အား၏ဗဟိုရွှေ့ဖို့ဆော့ဖ်ဝဲရေးကာကွယ်ပေးသည်။

ခြော, ထိုလုပ်ဆောင်ချက်ကိုကောင်းသောဖြစ်ပါသည်, သို့သော်၎င်း၏အသုံးပြုမှုအရာဝတ္ထုအတွက်ကုဒ်ရဲ့အဓိပ္ပာယ်ကိုအတွက်လွှဲပြောင်းနိုင်ပါသည်။ အဆိုပါ algorithm ကိုအရာဝတ္ထုအကြားအပြန်အလှန်၏စနစ်တစ်ခုအဖြစ်တင်ပြထားပါသည်သောအခါ, တိုက်ရိုက် sequence ကိုအတွက် sequence ကိုနှိုင်းယှဉ်ခြင်းနှင့်လုပ်ရပ်များ, တစ်ဦးဂန္စတိုင်ထက်အများကြီးပိုကောင်းလှပါတယ်။

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 my.unansea.com. Theme powered by WordPress.