업로드 된 CSV 파일을 PHP의 배열로 처리하려고합니다. 그 잘 작동하지만 사용자의 일부 파일 끝에 구분 기호가 빈 행이 있습니다. 일반적으로 기존 파일에서 Excel을 사용할 때 발생합니다. 오래된 셀을 선택하고 지우는 것.빈 줄에서 PHP CSV 파일 중지
샘플 CSV 파일
lineNo,date,vendor,amount 1,5/2/2012,V000236,3727.21 2,5/2/2012,V003432,4826.19 ,,, ,,,
난 그냥 빈 행을 제거하지 않으
Array ( [0] => Array ( [0] => lineNo [1] => date [2] => vendor [3] => amount ) [1] => Array ( [0] => 1 [1] => 5/2/2012 [2] => V000236 [3] => 3727.21 ) [2] => Array ( [0] => 2 [1] => 5/2/2012 [2] => V003432 [3] => 4826.19 ) [3] => Array ( [0] => [1] => [2] => [3] => ) [4] => Array ( [0] => [1] => [2] => [3] => ) )
, 나는 내에서 배열 인덱스 후 2. 쉽게 중지하려면 다음과 같은 배열을이되다 기능 나는 새로운 해요 :
function csvToArray($csvFile, $specialChars = FALSE) {
$arrayCSV = array();
if (($csvHandle = fopen($csvFile, "r")) !== FALSE) { // Open the CSV
$csvKey = 0; // Set the parent array key to 0
while (($csvData = fgetcsv($csvHandle)) !== FALSE) {
$c = count($csvData); // Count the total keys in each row
//need something to stop on blank delimiter rows ,,,
for ($x = 0; $x < $c; $x++) { //Populate the array
if ($specialChars === TRUE) {
$arrayCSV[$csvKey][$x] = htmlspecialchars($csvData[$x]);
} else {
$arrayCSV[$csvKey][$x] = $csvData[$x];
}
}
$csvKey++;
}
fclose($csvHandle);
}
return $arrayCSV;
}
궁극적으로 P, 나는이
을 반환하고 싶습니다Array ( [0] => Array ( [0] => lineNo [1] => date [2] => vendor [3] => amount ) [1] => Array ( [0] => 1 [1] => 5/2/2012 [2] => V000236 [3] => 3727.21 ) [2] => Array ( [0] => 2 [1] => 5/2/2012 [2] => V003432 [3] => 4826.19 ) )
이 마지막 배열에서 설정을 해제했습니다. 감사합니다! – AugustLindholm
@ user1439738 좋아, 이제 알았다. 수정 해 주셔서 감사합니다;) –