⊗ppPmRgNP 255 of 447 menu

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'] ?>

Көріп отырғаныңыздай, нәтижеде біз массаiv аламыз, онда нөлдік элементте бүкіл күнтізбелік күн болады, біріншісінде - жыл, екіншісінде - ай, үшіншісінде - күн.

Алайда, кейде кармандардың мазмұн ассоциативті массаiv түрінде алу ыңғайлы болар еді. Яғни біздің жағдайда мынадай массаiv алу өте жақсы болар еді:

[ 'year' => '2025', 'month' => '10', 'day' => '29' ]

Ол үшін тұрақты өрнектерде арнайы синтаксис бар. Мінеки: (?<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); ?>

Нәтижесінде бізде ассоциативті массаiv пайда болады, онда кілттері карман атаулары болады, ал мәндері - оларға түскен нәрсе:

[ 'year' => '2025', 'month' => '10', 'day' => '29', ]

Шын мәнінде, нәтиже массаivінде кармандардың мәндері ат бойынша да, реттік нөмірі бойынша да қолжетімді болады. Яғни, мысалы, жыл 'year' кілті бойынша және 1 нөмірі бойынша қолжетімді болады, ай - 'month' кілті бойынша және 2 нөмірі бойынша және т.с.с.:

[ 'year' => '2025', 'month' => '10', 'day' => '29', 1 => '2025', 2 => '10', 3 => '29' ]

Сипатталған атаулы кармандардың тағы бірнеше балама синтаксистері бар: (?P<name>pattern) және (?'name'pattern).

Уақыт жолы берілген:

<?php $str = '12:59:59'; ?>

Сағаттарды, минуттарды және секундтарды жеке атаулы кармандарға салыңыз.

Нәтиже массаivінде барлық нөмірленген кармандарды жойып, тек атаулы кармандарды қалдыратын функция жазыңыз.

Қазақ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართული한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау