ฟังก์ชัน preg_grep
ฟังก์ชัน preg_grep ส่งคืนอาร์เรย์ขององค์ประกอบที่ตรงกับ Regular Expression ที่กำหนด พารามิเตอร์แรกฟังก์ชันรับสตริงของ Regular Expression และพารามิเตอร์ที่สองคืออาร์เรย์สำหรับค้นหา พารามิเตอร์ที่สามซึ่งเป็นตัวเลือกกำหนดว่าจะส่งคืนองค์ประกอบที่ตรงกับ Regular Expression หรือไม่
ไวยากรณ์
preg_grep(pattern, array, [flags]);
แฟล็ก
| แฟล็ก | คำอธิบาย |
|---|---|
PREG_GREP_INVERT |
กลับผลลัพธ์ - ส่งคืนองค์ประกอบที่ตรงกับแพตเทิร์น |
PREG_GREP_NO_ERROR |
ไม่สร้างข้อผิดพลาดเมื่อ Regular Expression ไม่ถูกต้อง (PHP 8.1 ขึ้นไป) |
ตัวอย่าง
มาหาองค์ประกอบทั้งหมดของอาร์เรย์ที่ขึ้นต้นด้วยตัวเลข:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
ผลลัพธ์การทำงานของโค้ด:
['2b', '4d']
ตัวอย่าง
ใช้แฟล็ก PREG_GREP_INVERT เพื่อรับองค์ประกอบที่ตรงกับ Regular Expression:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
ผลลัพธ์การทำงานของโค้ด:
['a1', 'c3', 'e5']
ตัวอย่าง
มาหาองค์ประกอบทั้งหมดของอาร์เรย์ที่มีเฉพาะตัวเลข:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
ผลลัพธ์การทำงานของโค้ด:
['123', '45', '678']
ดูเพิ่มเติม
-
ฟังก์ชัน
preg_match,
ซึ่งทำการตรวจสอบความตรงกับ Regular Expression -
ฟังก์ชัน
preg_replace,
ซึ่งทำการค้นหาและแทนที่ด้วย Regular Expression