⊗ppPmRgNP 255 of 447 menu

Nimetatud taskid PHP regulaaravaldistes

Oletame, et tahame kasutada preg_match kuupäeva jagamiseks päevaks, kuuks ja aastaks. Kasutame selleks taske:

<?php $str = '2025-10-29'; $reg = '#(\d{4})-(\d{2})-(\d{2})#'; preg_match($reg, $str, $match); var_dump($match); // väljastab ['2025-10-29', '2025', '10', '29'] ?>

Nagu näete, saame tulemusena massiivi, milles nullindal elemendil on kogu kuupäev, esimesel - aasta, teisel - kuu, kolmandal - päev.

Mõnikord oleks aga mugav saada taskide sisu assotsiatiivse massiivi kujul. See tähendab meie puhul oleks tore saada järgmine massiiv:

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

Selleks on regulaaravaldistes spetsiaalne süntaks. See on: (?<name>pattern), kus pattern - on regulaaravaldis ja name - on taski nimi.

Kirjutame oma kuupäeva regulaaravaldise ümber kasutades nimetatud taskid:

<?php $str = '2025-10-29'; $reg = '#(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})#'; preg_match($reg, $str, $match); var_dump($match); ?>

Tulemusena saame assotsiatiivse massiivi, milles võtmeteks on taskide nimed ja väärtusteks - see, mis nende sattus:

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

Tegelikult on tulemuste massiivis taskide väärtused kättesaadavad nii nime kui ka järjekorranumbri järgi. See tähendab, näiteks aasta on kättesaadav võtme 'year' ja numbri 1 järgi, kuu - võtme 'month' ja numbri 2 järgi jne:

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

Kirjeldatud nimetatud taskidel on veel mõned alternatiivsed süntaksid: (?P<name>pattern) ja (?'name'pattern).

Antud on string ajaga:

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

Pange tunnid, minutid ja sekundid eraldi nimetatud taskidesse.

Kirjutage funktsioon, mis kustutab tulemuste massiivist kõik nummerdatud taskid, jättes alles ainult nimetatud taskid.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu