我正在从csv文件读取数据并合并array.i在csv中具有以下标题
名字,姓氏,电子邮件,联系电话
我在CSV中提供有关列
的以下数据Usertest,名称,test @ test.com,645383638
然后使用array_combine()合并数据。在这种情况下,它可以正常工作,并且给出下面的结果
Array
(
[First Name] => test
[Last Name] => name
[Email] => test@tedtmsil.com
[Contact No] => 74647454
)
但是,如果我在csv中将联系电话留空,则array_combine()无法工作,给我空的array()
Array
(
)
$dataKeys = First Name,Last Name,Email,Contact No;
$dataValues = Usertest,name,test@test.com
$dataArr = array_combine(str_getcsv($dataKeys), str_getcsv($dataValues));
由于csv标头中的参数数量与row中的data字段中的参数数量不同,因此无法解决该问题。
答案 0 :(得分:1)
每当使用array_combine
将数据放入csv时,都可以通过以下代码确保两个数组的长度必须相同。
您可以这样做,
$arr1 = array("First Name", "Last Name", "Email","Contact No");
$arr2 = ["Usertest","name","test@test.com"];
$temp = array_pad($arr2, count($arr1),'');
$res = array_combine($arr1,$temp);
print_r($res);
输出
Array
(
[First Name] => Usertest
[Last Name] => name
[Email] => test@test.com
[Contact No] =>
)
Demo。