2011-09-08 3 views
0
특정 CSV 값을 읽기

나는 다음과 같은 CSV 파일이 있습니다는 PHP

08-0018421032;00-0018151831;G-20009429-0;G-20009429-0;0374048-0 
27-0018421;10-0018151831;G-30009429-0;G-50009429-0;7374048-0 
36-0018421033232;20-0018151831;G-40009429-0;G-60009429-0;8374048-0 

당신은 구분 기호를 볼 수있는가이다; 상징.

나는이 정보를 PHP에서 파일을 읽을 수 있기 때문에 완벽하게 작동하는 jquery 플러그인을 통해 php에 전송합니다. 다음 코드는 (인 $의 csvfile 변수) CSV 파일을 잡고 난에서 라인을 볼 수 있습니다 내가 필요하면에 선하지만 값뿐만 아니라 선택 할 수있다

$file = fopen("upload/$csvfile", "r"); 
while (!feof($file)) { 
$line = fgetcsv($file, 1024,';'); 
print $line[0].'<br/>'; 
} 
fclose($file); 

. 예를 들어 첫 번째 줄에서 특정 값으로 이동하려면 세 번째 값은 G-20009429-0이고이 값을 나중에 사용할 PHP 변수에 할당합니다.

지금은 줄에서 특정 값을 가져 오는 방법을 모르며 $ line [0]을 인쇄 할 때 가로 값 대신 세로 값을 사용합니다. 이런 식으로 나를 보여주는하는 대신

00-0018151831 
10-0018151831 
20-0018151831 

: 내가 이것으로 의미하는 것은 다음과 같은 출력을 보여주고 있다는 점이다

08-0018421032;00-0018151831;G-20009429-0;G-20009429-0;0374048-0 

은 아마 잠 그러나 여기 붙어있다. 그냥 반복하기 때문에, 나는 그것에 print_r 할 수 있기 때문에 csv 파일은 PHP에 의해 올바르게 읽고 그것의 모든 라인을 보여줍니다. 문제는 CSV가 있고 특정 라인에서 특정 값을 얻는 방법을 사용한 후에 정보를 조작하는 방법입니다. 고맙습니다.

+0

만약 당신이 원하는 것은'fgetcsv()'를 사용하는 이유는 무엇입니까? –

답변

1

$line은 해당 행의 모든 ​​요소를 ​​포함하는 배열입니다. $line[0]은 행의 첫 번째 요소이고 $line[1]은 두 번째 요소입니다. 시도해보십시오 var_dump($line). 당신이하는 일은 모든 행의 모든 ​​첫 번째 요소를 출력하는 것입니다.

echo join(';', $line); 

을하지만 그 특별히 유용하게 그렇게 당신을 위해 배열에 이러한 요소를 분리한다 fgetcsv의 점을, 실종 : 당신이 출력 한 줄에 모든 요소를 ​​원하는 경우

, 단지 다시 배열을 연결 당신은 그들과 함께 일할 수 있습니다.

+0

감사합니다. 설명해. –