Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar fail php kepada array

Bagaimana untuk menukar fail php kepada array

PHPz
PHPzasal
2023-04-25 09:05:50500semak imbas

Apabila menulis program PHP, kita selalunya perlu membaca fail dan menukarnya kepada tatasusunan untuk memudahkan manipulasi data. Menukar fail php kepada tatasusunan adalah tugas biasa dan boleh dicapai melalui kaedah berikut.

1. Gunakan fungsi file_get_contents
Fungsi file_get_contents boleh membaca fail sebagai rentetan. Kita boleh membaca fail ke dalam rentetan dan kemudian menggunakan fungsi letupan untuk memisahkan rentetan itu kepada tatasusunan berdasarkan pembatas yang kita perlukan. Sebagai contoh, kami mempunyai fail data.txt yang mengandungi kandungan berikut:

Tom:24
Jerry:25
Kate:28

Anda boleh menggunakan kod berikut untuk menukarnya kepada tatasusunan:

$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);

Output akan adalah seperti berikut:

Array
(
    [0] => Array
        (
            [0] => Tom
            [1] => 24
        )

    [1] => Array
        (
            [0] => Jerry
            [1] => 25
        )

    [2] => Array
        (
            [0] => Kate
            [1] => 28
        )

)

2 Gunakan fungsi fail
Fungsi fail membaca keseluruhan fail sebagai tatasusunan, dan setiap elemen tatasusunan ialah satu baris dalam fail. Oleh itu, kita boleh terus menggunakan fungsi fail untuk membaca fail sebagai tatasusunan. Sebagai contoh, kami mempunyai fail data.txt yang mengandungi kandungan berikut:

Tom:24
Jerry:25
Kate:28

Anda boleh menggunakan kod berikut untuk menukarnya kepada tatasusunan:

$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);

Output akan menjadi seperti berikut:

Array
(
    [0] => Array
        (
            [0] => Tom
            [1] => 24
        )

    [1] => Array
        (
            [0] => Jerry
            [1] => 25
        )

    [2] => Array
        (
            [0] => Kate
            [1] => 28
        )

)

3. Gunakan fungsi fgets
Fungsi fgets boleh membaca kandungan fail baris demi baris Kita boleh menggunakan fungsi fgets dalam gelung untuk membaca fail sebagai tatasusunan . Sebagai contoh, kami mempunyai fail data.txt yang mengandungi kandungan berikut:

Tom:24
Jerry:25
Kate:28

Anda boleh menggunakan kod berikut untuk menukarnya kepada tatasusunan:

$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);

Output akan adalah seperti berikut:

Array
(
    [0] => Array
        (
            [0] => Tom
            [1] => 24
        )

    [1] => Array
        (
            [0] => Jerry
            [1] => 25
        )

    [2] => Array
        (
            [0] => Kate
            [1] => 28
        )

)

Tiga kaedah di atas boleh menukar fail kepada tatasusunan Kaedah yang manakah untuk dipilih bergantung pada senario aplikasi sebenar. Jika kandungan fail adalah kecil, adalah disyorkan untuk menggunakan fail_get_contents atau fungsi fail untuk membaca fail ke dalam rentetan atau tatasusunan, dan kemudian menukarnya kepada operasi tatasusunan jika kandungan fail adalah besar, adalah disyorkan untuk menggunakan fgets berfungsi untuk membaca kandungan fail baris demi baris.

Atas ialah kandungan terperinci Bagaimana untuk menukar fail php kepada array. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn