繁体   English   中英

如何使用PHP但不使用fgetcsv从CSV文件创建数组

[英]How to create an array from a CSV file using PHP but NOT using fgetcsv

我有一个名为csvFile.csv的文件

第一行是:

ID; fechaAlta; DNI; CUIT; Apellido; Nombre; Direccion; CP; Tel1; Tel2; Sexo;邮件; Ficha

第二行是:

3; 2008-10-25; 33360466; 27333604665; PEREZ; SABRINA; RIVADAVIA 4543 Piso:3 Depto:A Barrio:PARQUE LICEO Codigo邮政:5000 Localidad:CORDOBA; 5000; 192772656; 47881752; F; sperez@hotmail.com; 342

我需要一个PHP函数,该函数可以控制每一行中的每个元素。

现在,我使用以下功能:

function readCSV($csvFile){
    $file_handle = fopen($csvFile, 'r');
    while (!feof($file_handle) ) {
        $line_of_text[] = fgetcsv($file_handle, 1024);
    }
    fclose($file_handle);
    print_r( $line_of_text);
}

然后我得到以下结果:

Array 
( 
[0] => Array ( 

[0] => Id;fechaAlta;DNI;CUIT;Apellido;Nombre;Direccion;CP;Tel1;Tel2;Sexo;mail;Ficha ) 

[1] => Array ( [0] => 3;2008-10-25;11660466;27116604665;PEREZ;SABRINA;COLON 43 Piso: 4 Depto: B Barrio: CENTRO  Codigo Postal: 5000 Localidad: CORDOBA;5000;158882656;4111752;F;sperez@hotmail.com;342 )
)

但我需要如下结果:

Array
(
    [0] => Array
        (
            [0] => Id
            [1] => fechaAlta
            [2] => DNI
            [3] => CUIT
    #

        )

    [1] => Array
        (
            [0] => 3
            [1] => 2008-10-25
            [2] => 11660466
            [3] => 27116604665
#
        )

如何获得上面结果的函数?

您不需要其他功能; 只需正确使用fgetcsv() -默认分隔符为,而您的文件具有; 作为分隔符,因此您需要告诉fgetcsv()这个小事实:

$line_of_text[] = fgetcsv($file_handle, 1024, ';');

那么它将为你工​​作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM