Hàm sscanf
Hàm sscanf phân tích một chuỗi bằng cách sử dụng định dạng được chỉ định,
và trả về các giá trị. Tham số đầu tiên của hàm nhận chuỗi cần phân tích,
tham số thứ hai - chuỗi định dạng, và các tham số tiếp theo (tùy chọn) - các biến,
mà kết quả phân tích sẽ được ghi vào.
Trong chuỗi định dạng sử dụng các ký tự đặc biệt (các đặc tả định dạng), bắt đầu bằng dấu % và điều khiển việc định dạng đầu ra.
Cú pháp
sscanf(string $str, string $format [, mixed &$... ]): mixed
Các đặc tả định dạng
| Đặc tả | Mô tả |
|---|---|
%s |
Chuỗi |
%d |
Số nguyên có dấu (hệ thập phân) |
%u |
Số nguyên không dấu (hệ thập phân) |
%f |
Số dấu phẩy động (phụ thuộc vào ngôn ngữ địa phương - locale) |
%F |
Số dấu phẩy động (không phụ thuộc vào ngôn ngữ địa phương - locale) |
%c |
Ký tự theo mã ASCII |
%x |
Số nguyên trong hệ thập lục phân (chữ thường) |
%X |
Số nguyên trong hệ thập lục phân (chữ hoa) |
%o |
Số nguyên trong hệ bát phân |
%b |
Số nguyên trong hệ nhị phân |
%e |
Ký hiệu khoa học (chữ thường) |
%E |
Ký hiệu khoa học (chữ hoa) |
%g |
Ký hiệu ngắn gọn của %e hoặc %f |
%G |
Ký hiệu ngắn gọn của %E hoặc %F |
%% |
Dấu phần trăm |
Ví dụ
Phân tích một chuỗi, trích xuất số và văn bản:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Kết quả thực thi mã:
[42, 'the']
Ví dụ
Phân tích ngày tháng thành các phần:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Kết quả thực thi mã:
'Year: 2023, Month: 12, Day: 31'