最新的Web開發教程
 

PHP sscanf() Function

<PHP字符串參考

解析字符串:

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

所述sscanf()函數根據指定的格式從字符串解析輸入。 該sscanf()函數解析字符串轉換成基於格式字符串變量。

如果只有兩個參數被傳遞給該功能,數據將被返回作為數組。 否則,如果提供了可選參數,分析這些數據存儲在其中。 如果有更多的符不是變量來包含它們,就會發生錯誤。 但是,如果有比符少的變量,多餘的變量包含NULL。

相關職能:

  • printf() -輸出格式化的字符串
  • sprintf() -格式化的字符串寫入到可變

句法

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

參數 描述
string 需要。 指定字符串讀取
format 需要。 指定要使用的格式。

可能格式值:

  • %% - 返回百分號
  • %C - 根據ASCII值的字符
  • %D -符號十進制數(negative, zero or positive)
  • %E -使用小寫科學記數法(eg 1.2e+2)
  • %U -無符號十進制數(equal to or greather than zero)
  • %F - 浮點數
  • %氧氣 - 八進制數
  • %S - 字符串
  • %X -十六進制數(lowercase letters)
  • %X -十六進制數(uppercase letters)

其他格式的值。 這些被置於%和字母之間(example %.2f)

  • +(力量都+和 - 在數字前默認情況下,只有負數是被標記。)
  • '(指定為填充使用什麼默認為空間必須與寬度指定一起使用實施例:。%'x20s (this uses "x" as padding)
  • - (Left-justifies the variable value)
  • [0-9] (Specifies the minimum width held of to the variable value)
  • [0-9](指定的十進制數或最大字符串長度的數量)

Note:如果使用多個附加格式值,它們必須是在與上述順序相同。

arg1 可選的。 第一個變量來存儲數據在
arg2 可選的。 第二個變量來存儲數據在
arg++ 可選的。 第三個,第四個,依此類推,存儲數據

技術細節

返回值: 如果只有兩個參數被傳遞給該功能,數據將被返回作為數組。 否則,如果提供了可選參數,分析這些數據存儲在其中。 如果有更多的符不是變量來包含它們,就會發生錯誤。 但是,如果有比符少的變量,多餘的變量包含NULL。
PHP版本: 4.0.1+

更多示例

實施例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);
?>
運行示例»

<PHP字符串參考