從檔案中格式化輸入

fscanf

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

fscanf從檔案中格式化輸入

說明

fscanf(resource $handle, string $format, mixed &$... = ?): mixed

fscanf() 函式和 sscanf() 相似,但是它從與 handle 關聯的檔案中接受輸入並根據指定的 format(定義于 sprintf() 的文件中)來解釋輸入。

格式字串中的任何空白會與輸入流中的任何空白匹配。這意味著甚至格式字串中的製表符 \t 也會與輸入流中的一個空格字元匹配。

每次呼叫 fscanf() 都會從檔案中讀取一行。

參數

handle

檔案系統指針,是典型地由 fopen() 建立的 resource(資源)。

format

參數格式是 sprintf() 文件中所描述的格式。

...

The optional assigned values.

返回值

如果只給此函式傳遞了兩個參數,解析后的值會被作為陣列返回。否則,如果提供了可選參數,此函式將返回被賦值的數目。 可選參數必須用引用傳遞。

更新日誌

版本 說明
4.3.0 在 PHP 4.3.0 之前,從檔案中讀入的最大字元數是 512(或者第一個 \n,看先碰到哪種情況)。從 PHP 4.3.0 起可以讀取任意長的行。

範例

示例 #1 fscanf() 例子

<?php
$handle 
fopen("users.txt""r");
while (
$userinfo fscanf($handle"%s\t%s\t%s\n")) {
    list (
$name$profession$countrycode) = $userinfo;
    
//... do something with the values
}
fclose($handle);
?>

示例 #2 users.txt 的內容

javier  argonaut        pe
hiroshi sculptor        jp
robert  slacker us
luigi   florist it

參見

  • fread() - 讀取檔案(可安全用於二進制檔案)
  • fgets() - 從檔案指針中讀取一行
  • fgetss() - 從檔案指針中讀取一行並過濾掉 HTML 標記
  • sscanf() - 根據指定格式解析輸入的字元
  • printf() - 輸出格式化字串
  • sprintf() - 返回格式化字串

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *