SplFileObject::fscanf()函式是用於從檔案中按照指定格式讀取資料的方法。它是SplFileObject類的一個成員方法,可以在PHP 5.1.0及以上版本中使用。
用法: SplFileObject::fscanf(string $format): mixed
引數:
- $format:指定要讀取的資料格式。它遵循與C語言中的scanf()函式相似的格式。格式字串可以包含普通字元以及以下特殊格式說明符:
- %d:表示讀取一個整數。
- %f:表示讀取一個浮點數。
- %s:表示讀取一個字串。
- %c:表示讀取一個字元。
返回值:
- 如果成功讀取到資料,則返回讀取到的資料,資料型別根據格式字串中的說明符而定。
- 如果讀取失敗或到達檔案末尾,則返回false。
示例: 假設有一個名為data.txt的文字檔案,其中包含以下內容:
John 25 180.5
我們可以使用SplFileObject::fscanf()函式讀取檔案中的資料:
$file = new SplFileObject('data.txt', 'r');
$data = $file->fscanf("%s %d %f");
if ($data !== false) {
$name = $data[0]; // "John"
$age = $data[1]; // 25
$height = $data[2]; // 180.5
echo "Name: " . $name . "\n";
echo "Age: " . $age . "\n";
echo "Height: " . $height . "\n";
} else {
echo "Failed to read data from file.\n";
}
上述程式碼將從data.txt檔案中讀取一行資料,並將其解析為字串、整數和浮點數。然後,透過訪問返回的陣列中的元素,我們可以獲取到相應的資料並進行處理。
注意:在使用SplFileObject::fscanf()函式之前,需要先建立一個SplFileObject物件,並透過建構函式指定要讀取的檔名和開啟模式('r'表示只讀模式)。