在編寫 PHP 程式時,我們經常需要讀取檔案並將其轉換為陣列以方便操作資料。 php files 轉數組是常見的任務,可以透過以下幾種方法實現。
一、使用 file_get_contents 函數
file_get_contents 函數可以將檔案讀取為字串。我們可以將檔案讀取為字串後,再使用 explode 函數根據我們要求的分隔符號將字串分割成陣列。例如,我們有一個檔案data.txt,其中包含以下內容:
Tom:24 Jerry:25 Kate:28
可以使用以下程式碼將其轉換為陣列:
$data = file_get_contents('data.txt'); $data_array = explode("\n", $data); foreach ($data_array as &$value) { $value = explode(':', trim($value)); } unset($value); print_r($data_array);
輸出結果如下:
Array ( [0] => Array ( [0] => Tom [1] => 24 ) [1] => Array ( [0] => Jerry [1] => 25 ) [2] => Array ( [0] => Kate [1] => 28 ) )
二、使用file 函數
file 函數將整個檔案讀取為數組,每個數組元素都是檔案中的一行。因此,我們可以直接使用 file 函數將檔案讀取為陣列。例如,我們有一個檔案data.txt,其中包含以下內容:
Tom:24 Jerry:25 Kate:28
可以使用以下程式碼將其轉換為陣列:
$data_array = file('data.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); foreach ($data_array as &$value) { $value = explode(':', trim($value)); } unset($value); print_r($data_array);
輸出結果如下:
Array ( [0] => Array ( [0] => Tom [1] => 24 ) [1] => Array ( [0] => Jerry [1] => 25 ) [2] => Array ( [0] => Kate [1] => 28 ) )
三、使用fgets 函數
fgets 函數可以逐行讀取檔案內容,我們可以在迴圈中使用fgets 函數將檔案讀取為陣列。例如,我們有一個檔案data.txt,其中包含以下內容:
Tom:24 Jerry:25 Kate:28
可以使用以下程式碼將其轉換為陣列:
$handle = fopen('data.txt', 'r'); $data_array = array(); while (!feof($handle)) { $line = fgets($handle); if ($line !== false) { $line = explode(':', trim($line)); $data_array[] = $line; } } fclose($handle); print_r($data_array);
輸出結果如下:
Array ( [0] => Array ( [0] => Tom [1] => 24 ) [1] => Array ( [0] => Jerry [1] => 25 ) [2] => Array ( [0] => Kate [1] => 28 ) )
以上三種方法都可以將檔案轉換為數組,具體選擇哪一種方法取決於實際應用場景。如果檔案內容較小,建議使用 file_get_contents 或 file 函數將檔案讀取為字串或數組,然後轉換為陣列內容較大,建議使用 fgets 函數逐行讀取檔案內容。
以上是php files怎麼轉數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!