Membaca Baris Fail Teks ke dalam Elemen Tatasusunan
Soalan:
Dalam coretan kod ini untuk membaca fail teks baris demi baris ke dalam tatasusunan:
<code class="php">$file = fopen("members.txt", "r"); while (!feof($file)) { $line_of_text = fgets($file); $members = explode('\n', $line_of_text); } fclose($file);</code>
Mengapakah tatasusunan $members hanya mengandungi baris terakhir fail teks, bukannya elemen untuk setiap baris?
Jawapan:
Kod yang disediakan membaca baris dengan betul daripada fail teks tetapi menghadapi masalah dalam mencipta tatasusunan baris. Menggunakan explode('n', $line_of_text) dalam gelung menimpa tatasusunan $members dalam setiap lelaran, akhirnya hanya menyimpan baris terakhir.
Untuk menyelesaikan isu ini, gunakan fungsi fail sebaliknya:
<code class="php">$lines = file($filename, FILE_IGNORE_NEW_LINES);</code>
Fungsi ini terus mencipta tatasusunan di mana setiap elemen mewakili baris daripada fail teks. Menggunakan FILE_IGNORE_NEW_LINES melangkau aksara baris baharu daripada setiap baris, memastikan tatasusunan mengandungi kandungan baris sahaja.
Atas ialah kandungan terperinci Mengapa kod saya hanya menyimpan baris terakhir fail teks dalam tatasusunan, bukannya semua baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!