⊗ppPmRgNP 255 of 447 menu

Poket Bernama dalam Ungkapan Biasa PHP

Katakan kita ingin menggunakan preg_match untuk memisahkan tarikh kepada hari, bulan dan tahun. Kita akan menggunakan poket untuk tujuan ini:

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

Seperti yang anda lihat, hasilnya kita mendapat array, di mana elemen sifar akan mengandungi keseluruhan tarikh, elemen pertama - tahun, elemen kedua - bulan, elemen ketiga - hari.

Walau bagaimanapun, kadangkala adalah lebih mudah untuk mendapatkan kandungan poket dalam bentuk array asosiatif. Iaitu, dalam kes kami, adalah baik untuk mendapatkan array seperti ini:

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

Untuk ini, terdapat sintaks khas dalam ungkapan biasa. Inilah dia: (?<name>pattern), di mana pattern ialah ungkapan biasa, dan name ialah nama poket.

Mari kita tulis semula ungkapan biasa tarikh kami menggunakan poket bernama:

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

Hasilnya, kita akan mendapat array asosiatif di mana kuncinya ialah nama poket, dan nilainya ialah kandungan yang ditangkap:

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

Sebenarnya, dalam array hasil, nilai poket akan boleh diakses sama ada melalui nama ataupun nombor indeks. Contohnya, tahun boleh diakses melalui kunci 'year' dan nombor 1, bulan - melalui kunci 'month' dan nombor 2 dan seterusnya:

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

Poket bernama yang diterangkan ini mempunyai beberapa sintaks alternatif: (?P<name>pattern) dan (?'name'pattern).

Diberi rentetan masa:

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

Letakkan jam, minit dan saat ke dalam poket bernama yang berasingan.

Tulis fungsi yang dalam array hasil akan memadam semua poket bernombor, hanya meninggalkan poket bernama.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak