2013-02-23 3 views
0

나는 이것에 대해 거의 당황 스럽지만 지금은 몇 시간 동안이 작업을 수행하려고 노력해 왔습니다. fopen 또는 fgetcsv 함수를 철저히 이해하지 못하면 조금 손실됩니다. 내가 찾은 각 사례는 나를 위해 제대로 작동하지 않습니다.PHP를 사용하여 배열로 CSV 파일의 각 라인을 추가

CSV 파일의 각 행을 하나의 배열로로드하는 방법을 모색 중입니다.

Array 
(
    [0] => Apple,Banana,Orange 
    [1] => Kiwi,Watermelon,Pineapple 
    [2] => Dog,Cat,Bird 
) 

내가 어떤 조언을 감사하겠습니다 :

Apple,Banana,Orange 
Kiwi,Watermelon,Pineapple 
Dog,Cat,Bird 

다음이 내 배열 될 것이다 : 예를 들어,이 내 CSV 파일 인 경우. 감사! 차라리 하나 개의 큰 배열을 줄 때, 다음과 같이

$list = '../reports/apples.csv'; 

$csvfile = fopen($list,'rb'); 
while(!feof($csvfile)) { 
$listofthings[] = fgetcsv($csvfile); 
} 
fclose($csvfile); 

print_r($listofthings); 

그러나,이 다차원 배열을 생산 : :) 그냥 참조


, 이것은 내가 지금까지있는 것입니다.

Array 
(
    [0] => Array 
     (
      [0] => Apple 
      [1] => Banana 
      [2] => Orange 
     ) 

    [1] => Array 
     (
      [0] => Kiwi 
      [1] => Watermelon 
      [2] => Pineapple 
     ) 

    [2] => Array 
     (
      [0] => Dog 
      [1] => Cat 
      [2] => Bird 
     ) 
) 

답변

2

파일을 줄 바꿈으로 나누려면 file을 사용하십시오. 당신이 배열의 요소로 각각 쉼표로 구분 된 값을 원하는 경우

$newArray = file('/path/to/file.csv'); 

, file_get_contents를 사용하고 쉼표로 폭발.

$contents = file_get_contents('/path/to/file.csv'); 
$newArray = explode(',', $contents); 
+0

오, 당신은 자신의 섹션의 각 행을 원하는 ... 업데이트되었습니다. –

+1

나는 처음에 대답하고 끈적 거리며 해결책을 찾았을 때 같은 것을 보았다. "\ n"근무했습니다. 그런 다음에 와서 똑같은 대답을 보았습니다! 하하. 해결책으로 표시하기 -이 작업은 저에게 효과적이었습니다. 그리고이 작업이 매우 단순해질 것이라는 것을 알았습니다. 감사! –

1

당신 니콜라스 알거나 file로 한 번에 모두 공격 할 수의 파일을 읽은 후 explode 수 :

$lines = file('/path/to/file.csv'); 
+0

+1 : 아주 좋습니다. 나는 이것을 몰랐다. –

+1

소원해라, 나는 다시 투표 할 수 있었다 - 나는 당신이 나의 인생을 바꿨다 고 생각한다. –

+1

하하하 ... 네, 다른 좋은 점은 감지 라인 결말 설정을 고려하므로 다른 라인 결말에 대해 걱정할 필요가 없다는 것입니다. – prodigitalson

0

이 찾고있는 ??

$mytext = "Apple,Banana,Orange 
Kiwi,Watermelon,Pineapple 
Dog,Cat,Bird"; 

$line_explode = explode("\n", $mytext); 
$comma_explode = array(); 
foreach ($line_explode as $line) { 
    $comma_explode[] = explode(",", $line); 
} 

print_r($comma_explode); 

출력

Array 
(
    [0] => Array 
     (
      [0] => Apple 
      [1] => Banana 
      [2] => Orange 
     ) 

    [1] => Array 
     (
      [0] => Kiwi 
      [1] => Watermelon 
      [2] => Pineapple 
     ) 

    [2] => Array 
     (
      [0] => Dog 
      [1] => Cat 
      [2] => Bird 
     ) 

)