ฟังก์ชัน sscanf
ฟังก์ชัน sscanf วิเคราะห์สตริงโดยใช้รูปแบบที่ระบุ
และส่งคืนค่า พารามิเตอร์แรกของฟังก์ชันรับสตริงสำหรับการวิเคราะห์
พารามิเตอร์ที่สอง - สตริงรูปแบบ และพารามิเตอร์ถัดไป (ไม่บังคับ) - ตัวแปร
ซึ่งผลลัพธ์ของการแยกวิเคราะห์จะถูกเขียนลงไป
ในสตริงรูปแบบจะใช้สัญลักษณ์พิเศษ (ตัวระบุรูปแบบ) ที่เริ่มต้นด้วยเครื่องหมาย % และควบคุมการจัดรูปแบบของผลลัพธ์
ไวยากรณ์
sscanf(string $str, string $format [, mixed &$... ]): mixed
ตัวระบุรูปแบบ
| ตัวระบุ | คำอธิบาย |
|---|---|
%s |
สตริง |
%d |
จำนวนเต็มที่มีเครื่องหมาย (ฐานสิบ) |
%u |
จำนวนเต็มที่ไม่มีเครื่องหมาย (ฐานสิบ) |
%f |
เลขทศนิยม (ขึ้นอยู่กับโลแคล) |
%F |
เลขทศนิยม (ไม่ขึ้นอยู่กับโลแคล) |
%c |
อักขระตามรหัส ASCII |
%x |
จำนวนเต็มในระบบเลขฐานสิบหก (ตัวพิมพ์เล็ก) |
%X |
จำนวนเต็มในระบบเลขฐานสิบหก (ตัวพิมพ์ใหญ่) |
%o |
จำนวนเต็มในระบบเลขฐานแปด |
%b |
จำนวนเต็มในระบบเลขฐานสอง |
%e |
สัญกรณ์วิทยาศาสตร์ (ตัวพิมพ์เล็ก) |
%E |
สัญกรณ์วิทยาศาสตร์ (ตัวพิมพ์ใหญ่) |
%g |
รูปแบบย่อของ %e หรือ %f |
%G |
รูปแบบย่อของ %E หรือ %F |
%% |
เครื่องหมายเปอร์เซ็นต์ |
ตัวอย่าง
แยกวิเคราะห์สตริงโดยดึงตัวเลขและข้อความ:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
ผลลัพธ์จากการรันโค้ด:
[42, 'the']
ตัวอย่าง
แยกวันเดือนปีเป็นส่วนประกอบ:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
ผลลัพธ์จากการรันโค้ด:
'Year: 2023, Month: 12, Day: 31'