Tác dụng của hàm sscanf()
Hàm sscanf()
phân tích cú pháp đầu vào từ một chuỗi theo định dạng.
Hàm sscanf()
đọc từ chuỗi và diễn giải nó theo định dạng đã chỉ định, được mô tả trong sprintf()
chương tham chiếu hàm trước đó.
Bảng sau đây tóm tắt các chi tiết kỹ thuật của hàm này.
Giá trị trả về: |
Nếu chỉ có hai tham số được truyền cho hàm này, thì các giá trị được phân tích cú pháp sẽ được trả về dưới dạng một mảng. Ngược lại, nếu các tham số tùy chọn được truyền vào, hàm sẽ trả về số lượng giá trị được gán. Các tham số tùy chọn phải được chuyển qua tham chiếu. Ngoài ra, nếu có nhiều chuỗi con được mong đợi ở format (định dạng) hơn số có sẵn trong string ,
null sẽ được trả về. |
---|---|
Phiên bản: | PHP 4.0.1+ |
cú pháp
Cú pháp cơ bản của hàm sscanf()
được đưa ra với:
Ví dụ sau đây cho thấy hàm sscanf()
đang hoạt động.
Ví dụ
<?php
// Sample string
$str = "John Carter (26)";
// Parsing the string
sscanf($str, "%s %s (%d)", $first, $last, $age);
echo "$first $last is a $age year old man.";
?>
Thông số
Hàm sscanf()
chấp nhận các tham số sau.
Tham số | Sự miêu tả |
---|---|
string | Yêu cầu. Chỉ định chuỗi để phân tích cú pháp. |
format |
Yêu cầu. Chỉ định định dạng diễn giải cho chuỗi, được mô tả trong
|
var1 , var2 , ... | Không bắt buộc. Chỉ định các biến sẽ chứa các giá trị được phân tích cú pháp. |
Thêm ví dụ
Dưới đây là một số ví dụ khác cho thấy hàm sscanf()
thực sự hoạt động như thế nào:
Trong ví dụ sau, các giá trị được phân tích cú pháp sẽ được trả về dưới dạng một mảng.
Ví dụ
<?php
// Sample string
$date = "January 15 2021";
// Parsing the string
$result = sscanf($date, "%s %d %d");
print_r($result);
?>
Ví dụ sau đây cho thấy cách lấy các giá trị rgb nguyên tương đương từ các giá trị màu hex.
Ví dụ
<?php
// Sample hex color code
$hex = "#ff8800";
// Parsing string and get rgb values
list($s, $r, $g, $b) = sscanf($hex, "%1s%2x%2x%2x");
echo "<p style='background: rgb($r, $g, $b, 0.5)'>Alpha transparency<p>";
?>