PHP sscanf() 函數(shù)

2018-11-18 18:34 更新

PHP sscanf() 函數(shù)

PHP String 參考手冊(cè) PHP String 參考手冊(cè)

實(shí)例

Parse a string:

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

運(yùn)行實(shí)例 ?

sscanf() 函數(shù)根據(jù)指定的格式解析來(lái)自一個(gè)字符串的輸入。 sscanf() 函數(shù)基于格式字符串解析字符串到變量中。

如果只向該函數(shù)傳遞兩個(gè)參數(shù),數(shù)據(jù)將以數(shù)組的形式返回。否則,如果傳遞了額外的參數(shù),那么被解析的數(shù)據(jù)會(huì)存儲(chǔ)在這些參數(shù)中。如果區(qū)分符的數(shù)目大于包含它們的變量的數(shù)目,則會(huì)發(fā)生錯(cuò)誤。不過(guò),如果區(qū)分符的數(shù)目小于包含它們的變量的數(shù)目,則額外的變量包含 NULL。

相關(guān)函數(shù):

  • printf() - 輸出已格式化字符串
  • sprintf() - 寫(xiě)入一個(gè)已格式化字符串到變量中

語(yǔ)法

sscanf(string,format,arg1,arg2,arg++)

參數(shù) 描述
string 必需。規(guī)定要讀取的字符串。
format 必需。規(guī)定要使用的格式。

可能的格式值:

  • %% - 返回一個(gè)百分號(hào) %
  • %c - ASCII 值對(duì)應(yīng)的字符
  • %d - 包含正負(fù)號(hào)的十進(jìn)制數(shù)(負(fù)數(shù)、0、正數(shù))
  • %e - 使用小寫(xiě)的科學(xué)計(jì)數(shù)法(例如 1.2e+2)
  • %u - 不包含正負(fù)號(hào)的十進(jìn)制數(shù)(大于等于 0)
  • %f - 浮點(diǎn)數(shù)
  • %o - 八進(jìn)制數(shù)
  • %s - 字符串
  • %x - 十六進(jìn)制數(shù)(小寫(xiě)字母)
  • %X - 十六進(jìn)制數(shù)(大寫(xiě)字母)

附加的格式值。必需放置在 % 和字母之間(例如 %.2f):

  • + (在數(shù)字前面加上 + 或 - 來(lái)定義數(shù)字的正負(fù)性。默認(rèn)情況下,只有負(fù)數(shù)才做標(biāo)記,正數(shù)不做標(biāo)記)
  • ' (規(guī)定使用什么作為填充,默認(rèn)是空格。它必須與寬度指定器一起使用。例如:%'x20s(使用 "x" 作為填充))
  • - (左調(diào)整變量值)
  • [0-9] (規(guī)定變量值的最小寬度)
  • .[0-9] (規(guī)定小數(shù)位數(shù)或最大字符串長(zhǎng)度)

注釋:如果使用多個(gè)上述的格式值,它們必須按照上面的順序進(jìn)行使用,不能打亂。

arg1 可選。存儲(chǔ)數(shù)據(jù)的第一個(gè)變量。
arg2 可選。存儲(chǔ)數(shù)據(jù)的第二個(gè)變量。
arg++ 可選。存儲(chǔ)數(shù)據(jù)的第三、四個(gè)變量。依此類推。

技術(shù)細(xì)節(jié)

返回值: 如果只向該函數(shù)傳遞兩個(gè)參數(shù),數(shù)據(jù)將以數(shù)組的形式返回。否則,如果傳遞了額外的參數(shù),那么被解析的數(shù)據(jù)會(huì)存儲(chǔ)在這些參數(shù)中。如果區(qū)分符的數(shù)目大于包含它們的變量的數(shù)目,則會(huì)發(fā)生錯(cuò)誤。不過(guò),如果區(qū)分符的數(shù)目小于包含它們的變量的數(shù)目,則額外的變量包含 NULL。
PHP 版本: 4.0.1+


更多實(shí)例

實(shí)例 1

使用格式值 %s、%d 和 %c:

<?php
$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);
?>

運(yùn)行實(shí)例 ?


PHP String 參考手冊(cè) PHP String 參考手冊(cè)
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)