PHP sscanf() 函數
定義和用法
sscanf() 函數根據指定的格式解析來自一個字符串的輸入。
如果只向該函數傳遞兩個參數,數據將以數組的形式返回。否則,如果傳遞了額外的參數,那么被解析的數據會存儲在這些參數中。如果區(qū)分符的數目大于包含它們的變量的數目,則會發(fā)生錯誤。不過,如果區(qū)分符少于變量,則額外的變量包含 NULL。
語法
sscanf(string,format,arg1,arg2,arg++)
參數 | 描述 |
---|---|
string | 必需。規(guī)定要讀取的字符串。 |
format | 必需。規(guī)定要使用的格式。 |
arg1 | 可選。存儲數據的第一個變量。 |
arg2 | 可選。存儲數據的第二個變量。 |
arg++ | 可選。存儲數據的第三、四個變量。依此類推。 |
說明
參數 format 是轉換的格式,以百分比符號 ("%") 開始到轉換字符結束。下面的可能的 format 值:
- %% - 返回百分比符號
- %b - 二進制數
- %c - 依照 ASCII 值的字符
- %d - 帶符號十進制數
- %e - 可續(xù)計數法(比如 1.5e+3)
- %u - 無符號十進制數
- %f - 浮點數(local settings aware)
- %F - 浮點數(not local settings aware)
- %o - 八進制數
- %s - 字符串
- %x - 十六進制數(小寫字母)
- %X - 十六進制數(大寫字母)
例子
<?php
$string = "age:30 weight:60kg";
sscanf($string,"age:%d weight:%dkg",$age,$weight);
// show types and values
var_dump($age,$weight);
?>
輸出:
int(30) int(60)