Hướng dẫn how to scan value in php - cách quét giá trị trong php

❮ Tham chiếu chuỗi PHP

Thí dụ

Phân tích một chuỗi:

$str = "age:30 weight:60kg";
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// show types and values
var_dump($age,$weight);
?>

Hãy tự mình thử »


Hàm sscanf () phân tích cú pháp đầu vào từ một chuỗi theo một định dạng được chỉ định. Hàm sscanf () phân tích một chuỗi thành các biến dựa trên chuỗi định dạng.

Nếu chỉ có hai tham số được truyền vào hàm này, dữ liệu sẽ được trả về dưới dạng một mảng. Mặt khác, nếu các tham số tùy chọn được truyền, dữ liệu được phân tích cú pháp được lưu trữ trong chúng. Nếu có nhiều nhà xác định hơn các biến để chứa chúng, xảy ra lỗi. Tuy nhiên, nếu có ít trình xác định hơn các biến, các biến bổ sung có chứa null.

Các chức năng liên quan:

  • printf () - xuất ra chuỗi được định dạng
  • Sprintf () - Viết một chuỗi được định dạng vào một biến

Cú pháp

sscanf (chuỗi, định dạng, arg1, arg2, arg ++)

Giá trị tham số

Tham sốSự mô tả
sợi dâyYêu cầu. Chỉ định chuỗi để đọc
định dạngYêu cầu. Chỉ định định dạng để sử dụng.

Giá trị định dạng có thể:

  • %% - Trả về một dấu hiệu phần trăm
  • %C - ký tự theo giá trị ASCII
  • %D - Số thập phân đã ký (âm, 0 hoặc dương)
  • %E - Ký hiệu khoa học sử dụng chữ thường (ví dụ: 1.2E+2)
  • %U - Số thập phân không dấu (bằng hoặc LEMETHER so với 0)
  • %F - Số điểm nổi
  • %O - Số bát phân
  • %s - chuỗi
  • %X - Số thập lục phân (chữ thường)
  • %X - Số thập lục phân (chữ hoa)

Giá trị định dạng bổ sung. Chúng được đặt giữa % và chữ cái (ví dụ % .2f):

  • + (Buộc cả hai + và - trước số. Theo mặc định, chỉ có số âm được đánh dấu)
  • '(Chỉ định những gì sẽ sử dụng làm phần đệm. Mặc định là không gian. Phải được sử dụng cùng với bộ xác định chiều rộng. Ví dụ: %' x20s (Điều này sử dụng "x" làm đệm)
  • - (bên trái thông số giá trị biến)
  • [0-9] (chỉ định chiều rộng tối thiểu được giữ với giá trị biến)
  • . [0-9] (Chỉ định số chữ số thập phân hoặc chiều dài chuỗi tối đa)

Lưu ý: Nếu nhiều giá trị định dạng bổ sung được sử dụng, chúng phải theo cùng thứ tự như trên. If multiple additional format values are used, they must be in the same order as above.

Arg1Không bắt buộc. Biến đầu tiên để lưu trữ dữ liệu trong
Arg2Không bắt buộc. Biến thứ hai để lưu trữ dữ liệu trong
Arg ++Không bắt buộc. Thứ ba, thứ tư, v.v. để lưu trữ dữ liệu


Chi tiết kỹ thuật

Giá trị trở lại:Nếu chỉ có hai tham số được truyền vào hàm này, dữ liệu sẽ được trả về dưới dạng một mảng. Mặt khác, nếu các tham số tùy chọn được truyền, dữ liệu được phân tích cú pháp được lưu trữ trong chúng. Nếu có nhiều nhà xác định hơn các biến để chứa chúng, xảy ra lỗi. Tuy nhiên, nếu có ít trình xác định hơn các biến, các biến bổ sung có chứa null.
Phiên bản PHP:4.0.1+

Nhiều ví dụ hơn

Thí dụ

Sử dụng các giá trị định dạng %s, %d và %C:

$str = "If you divide 4 by 2 you'll get 2";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
?>

Hãy tự mình thử »


❮ Tham chiếu chuỗi PHP


Hàm thư viện C int sscanf (const char *str, const char *định dạng, ...) đọc đầu vào được định dạng từ một chuỗi.

(Php 4> = 4.0.1, Php 5, Php 7, Php 8)Parses input from a string according to a format

SSCANF - Đầu vào phân tích cú pháp từ một chuỗi theo định dạng

Sự mô tả(string $string, string $format, mixed &...$vars): array|int|null

sscanf (chuỗi $string, chuỗi $format, hỗn hợp &...$vars): mảng | int | null

Bất kỳ khoảng trắng nào trong chuỗi định dạng đều khớp với bất kỳ khoảng trắng nào trong chuỗi đầu vào. Điều này có nghĩa là ngay cả một tab (\t) trong chuỗi định dạng cũng có thể khớp với một ký tự không gian duy nhất trong chuỗi đầu vào.

Thông số

stringstring being parsed.

Chuỗi đầu vào được phân tích cú pháp.

formatsprintf() with following differences:

  • Định dạng được giải thích cho string, được mô tả trong tài liệu cho Sprintf () với những khác biệt sau:
  • Chức năng không nhận thức được địa phương.
  • F, g, G$format0 không được hỗ trợ.
  • $format1 là viết tắt của số thập phân.
  • $format2 là viết tắt của số nguyên với phát hiện cơ sở.
  • $format3 là viết tắt của số lượng ký tự được xử lý cho đến nay.
  • $format4 ngừng đọc ở bất kỳ ký tự khoảng trắng nào.
$format5 thay vì $format6 triệt tiêu việc gán thông số kỹ thuật chuyển đổi này.

$format7

Tùy chọn vượt qua các biến theo tham chiếu sẽ chứa các giá trị được phân tích cú pháp.

Trả về giá trị

Nếu chỉ có hai tham số được truyền cho hàm này, các giá trị được phân tích cú pháp sẽ được trả về dưới dạng một mảng. Mặt khác, nếu các tham số tùy chọn được truyền, hàm sẽ trả về số lượng giá trị được gán. Các tham số tùy chọn phải được truyền bằng tham chiếu.&...$vars0 will be returned.

Nếu có nhiều chất nền được dự kiến ​​trong format hơn so với có sẵn trong string, &...$vars0 sẽ được trả lại.

Ví dụsscanf() Example

&...$vars1

Ví dụ #1 SSCANF () Ví dụ

Nếu các tham số tùy chọn được truyền, hàm sẽ trả về số lượng giá trị được gán.sscanf() - using optional parameters

&...$vars2

Ví dụ #2 sscanf () - Sử dụng các tham số tùy chọn

  • Xem thêm
  • printf () - đầu ra chuỗi được định dạng
  • Sprintf () - Trả về chuỗi được định dạng
  • fprintf () - Viết chuỗi được định dạng vào luồng
  • vprintf () - xuất trình được định dạng
  • vsprintf () - Trả về chuỗi được định dạng
  • vfprintf () - Viết chuỗi được định dạng vào luồng
  • fscanf () - Đầu vào phân tích cú pháp từ một tệp theo định dạng
  • number_format () - Định dạng một số với hàng ngàn nhóm

date () - định dạng dấu thời gian unix

Jon tại chết tiệt dot org ¶

&...$vars3

&...$vars4

&...$vars5

20 năm trước

Jon tại chết tiệt dot org ¶

&...$vars6

&...$vars7

&...$vars8

&...$vars5

20 năm trước

Igor Feghali ¶

\t0

\t1

\t2

\t3

14 năm trước

Làm cách nào để quét đầu vào người dùng trong PHP?

\t4

\t5

\t6

\t7

&...$vars5

Phương pháp 1: Sử dụng hàm readline () là hàm tích hợp trong PHP. Hàm này được sử dụng để đọc đầu vào bảng điều khiển.

Làm cách nào để quét đầu vào người dùng trong PHP?

\t9

string0

string1

&...$vars5

Phương pháp 1: Sử dụng hàm readline () là hàm tích hợp trong PHP. Hàm này được sử dụng để đọc đầu vào bảng điều khiển.

%N làm gì trong sscanf?

string3

string4

Khi chúng tôi sử dụng trình xác định %N trong scanf (), nó sẽ gán số lượng ký tự được đọc bởi hàm scanf () cho đến khi nó xảy ra.

Sự khác biệt giữa SSCANF và SSCANF là gì?

Igor Feghali ¶

string6

\t1

\t2

string9

14 năm trước

Làm cách nào để quét đầu vào người dùng trong PHP?

format0

format1

&...$vars5

Phương pháp 1: Sử dụng hàm readline () là hàm tích hợp trong PHP. Hàm này được sử dụng để đọc đầu vào bảng điều khiển.

NMMM tại nmmm dot nu

format3

%N làm gì trong sscanf?

Làm cách nào để quét đầu vào người dùng trong PHP?

format4

format5

format6

format7

format8

format9

string0

&...$vars5

Phương pháp 1: Sử dụng hàm readline () là hàm tích hợp trong PHP. Hàm này được sử dụng để đọc đầu vào bảng điều khiển.

Làm cách nào để quét đầu vào người dùng trong PHP?

string2

string3

&...$vars5

Phương pháp 1: Sử dụng hàm readline () là hàm tích hợp trong PHP. Hàm này được sử dụng để đọc đầu vào bảng điều khiển.

%N làm gì trong sscanf?

string5

string6

&...$vars5

Khi chúng tôi sử dụng trình xác định %N trong scanf (), nó sẽ gán số lượng ký tự được đọc bởi hàm scanf () cho đến khi nó xảy ra.

Làm cách nào để quét đầu vào người dùng trong PHP?

string8

string9

&...$vars5

Phương pháp 1: Sử dụng hàm readline () là hàm tích hợp trong PHP. Hàm này được sử dụng để đọc đầu vào bảng điều khiển.

22 năm trước

F1

F2

F3

&...$vars5

sbarnum.pointsystems@com ¶

19 năm trước

F5

F6

&...$vars5

Marcus tại synchromedia dot co dot uk ¶

19 năm trước

F8

F9

g0

g1

g2

g3

&...$vars5

Marcus tại synchromedia dot co dot uk ¶

NMMM tại nmmm dot nu

g5

g6

&...$vars5

10 năm trước

Igor Feghali ¶

g8

g9

&...$vars5

Làm cách nào để quét đầu vào người dùng trong PHP?

Phương pháp 1: Sử dụng hàm readline () là hàm tích hợp trong PHP.Hàm này được sử dụng để đọc đầu vào bảng điều khiển.Using readline() function is a built-in function in PHP. This function is used to read console input.

%N làm gì trong sscanf?

Khi chúng tôi sử dụng trình xác định %N trong scanf (), nó sẽ gán số lượng ký tự được đọc bởi hàm scanf () cho đến khi nó xảy ra.assign the number of characters read by the scanf() function until it occurs.

Sự khác biệt giữa SSCANF và SSCANF là gì?

Hàm SCANF đọc dữ liệu từ luồng đầu vào tiêu chuẩn Stdin vào các vị trí được đưa ra bởi mỗi mục trong danh sách đối số.Danh sách đối số, nếu nó tồn tại, tuân theo chuỗi định dạng.Hàm SSCANF đọc dữ liệu từ bộ đệm vào các vị trí được đưa ra bởi danh sách đối số.

SSCANF trong thư viện nào?

Hàm thư viện C int sscanf (const char *str, const char *định dạng, ...) đọc đầu vào được định dạng từ một chuỗi.C library function int sscanf(const char *str, const char *format, ...) reads formatted input from a string.