PHP ရှိ ပုံမှန် အီကွေးရှင်းများတွင် အမည်ပေးထားသော အပိတ်အဝိုင်းများ
preg_match ကို အသုံးပြု၍ ရက်စွဲကို ရက်၊ လနှင့် နှစ်အဖြစ် ခွဲထုတ်လိုသည်ဆိုပါစို့။ ၎င်းအတွက် အပိတ်အဝိုင်းများကို အသုံးပြုကြပါစို့
<?php
$str = '2025-10-29';
$reg = '#(\d{4})-(\d{2})-(\d{2})#';
preg_match($reg, $str, $match);
var_dump($match); // ['2025-10-29', '2025', '10', '29'] ကို ထုတ်ပြမည်
?>
မြင်တွေ့ရသည့်အတိုင်း၊ ရလဒ်အဖြစ် array တစ်ခုကို ရရှိပါမည်။ ယင်း array ၏ အမှတ်စဉ် 0 တွင် ရက်စွဲအပြည့်အစုံပါဝင်ပြီး၊ အမှတ်စဉ် 1 တွင် - နှစ်၊ အမှတ်စဉ် 2 တွင် - လ၊ အမှတ်စဉ် 3 တွင် - ရက် ပါဝင်ပါမည်။
သို့သော်လည်း တစ်ခါတစ်ရံတွင် အပိတ်အဝိုင်းများ၏ အကြောင်းအရာကို associative array ပုံစံဖြင့် ရယူရန် လွယ်ကူချောမွေ့စေပါလိမ့်မည်။ ဆိုလိုသည်မှာ ကျွန်ုပ်တို့၏ ဖြစ်ရပ်တွင် အောက်ပါအတိုင်းသော array ကို ရရှိရန် ကောင်းမွန်ပါလိမ့်မည်။
[
'year' => '2025',
'month' => '10',
'day' => '29'
]
၎င်းအတွက် ပုံမှန်အီကွေးရှင်းများတွင် အထူး syntax တစ်ခု ရှိပါသည်။ ထိုအရာမှာ (?<name>pattern) ဖြစ်ပြီး၊
ယင်း၌ pattern သည် ပုံမှန်အီကွေးရှင်းဖြစ်ပြီး name
သည် အပိတ်အဝိုင်း၏ အမည်ဖြစ်သည်။
အမည်ပေးထားသော အပိတ်အဝိုင်းများမှတစ်ဆင့် ကျွန်ုပ်တို့၏ ရက်စွဲအတွက် ပုံမှန်အီကွေးရှင်းကို ပြန်ရေးကြပါစို့။
<?php
$str = '2025-10-29';
$reg = '#(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})#';
preg_match($reg, $str, $match);
var_dump($match);
?>
ရလဒ်အနေဖြင့် associative array တစ်ခုကို ရရှိပါမည်။ ယင်း array ၏ keys များသည် အပိတ်အဝိုင်းများ၏ အမည်များဖြစ်ပြီး၊ တန်ဖိုးများသည် ၎င်းတို့အတွင်းသို့ ဝင်ရောက်လာသော အရာများဖြစ်သည်။
[
'year' => '2025',
'month' => '10',
'day' => '29',
]
တကယ်တော့ ရလဒ်ရှိ array အတွင်း အပိတ်အဝိုင်းများ၏ တန်ဖိုးများကို အမည်ဖြင့်လည်းကောင်း၊ အစဉ်လိုက် နံပါတ်ဖြင့်လည်းကောင်း ရယူနိုင်ပါသည်။ ဆိုလိုသည်မှာ
ဥပမာအားဖြင့်၊ နှစ်ကို 'year' key ဖြင့်လည်းကောင်း
1 နံပါတ်ဖြင့်လည်းကောင်း ရယူနိုင်ပြီး၊ လကို 'month' key ဖြင့်လည်းကောင်း
2 နံပါတ်ဖြင့်လည်းကောင်း ရယူနိုင်ပြီး အခြားအရာများလည်း ဤအတိုင်းပင်ဖြစ်သည်။
[
'year' => '2025',
'month' => '10',
'day' => '29',
1 => '2025',
2 => '10',
3 => '29'
]
ဖော်ပြပါ အမည်ပေးထားသော အပိတ်အဝိုင်းများတွင် အခြား syntax အပြောင်းအလဲများလည်း ရှိသေးသည်။ ၎င်းတို့မှာ (?P<name>pattern)
နှင့် (?'name'pattern) တို့ဖြစ်သည်။
အချိန်ပါသည့် string တစ်ခုရှိသည်။
<?php
$str = '12:59:59';
?>
နာရီ၊ မိနစ်နှင့် စက္ကန့်များကို သီးခြားစီ အမည်ပေးထားသော အပိတ်အဝိုင်းများထဲသို့ ထည့်သွင်းပါ။
ရလဒ်ရှိ array အတွင်းရှိ အမှတ်စဉ်တပ်ထားသော အပိတ်အဝိုင်းအားလုံးကို ဖျက်ပစ်ကာ အမည်ပေးထားသော အပိတ်အဝိုင်းများကိုသာ ကျန်ရှိစေမည့် function တစ်ခုကို ရေးပါ။