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