PHP sscanf 函式基本語法
mixed sscanf ( $string , $format , $args1 , $args2 , $args3 , $args4 ... )
sscanf 函式小括號內第一個參數 $string 為原始字串,也就是即將被解析讀取的字串,第二個參數 $format 是要使用的格式化,sscanf 函式會根據 $format 的格式,將 $string 字串解析,並將解析的結果,透過第三個開始的 $args 來儲存,$format 轉換格式請參考 sprintf 函式上的參數表,需注意的是 sscanf 函式不支援 F、g、G、b 等格式。$string 與 $format 兩個參數是必填項目,後方的 $args 儲存參數則是選擇項目,數量自己決定,但是如果 $format 參數中的百分比(%)數量超過 $args 數目,會出現錯誤訊息。
PHP sscanf 函式範例
<?php
$string = "This is float 3.2 and this is integer 8";
sscanf($string,"This is float %f and this is integer %d",$float,$integer);
var_dump($float,$integer);
?>
以上範例輸出結果如$string = "This is float 3.2 and this is integer 8";
sscanf($string,"This is float %f and this is integer %d",$float,$integer);
var_dump($float,$integer);
?>
float(3.2) int(8)
範例中的字串 $string 共有兩個數字,分別為浮點數 3.2 以及整數 8,我們透過 sscanf 函式的格式化功能,將這兩個數字抓出來,要解析出浮點數 3.2,必須在 $format 中,將格式化寫為 %f,要解析出數字 8,則必須在 $format 中,將格式寫為 %d,再透過 var_dump 將解析結果的資料類型與資料內容一次顯示於網頁上,float(3.2) 代表為浮點數 3.2,int(8) 則代表整數 8。相關主題研究