2010-07-05 5 views
1

while 루프에서 :이 표제 행이기 때문에 첫 번째 행을 건너 뛸 난에 표시 할PHP 에코 문제 동안 잠시 루프 사용하여 CSV 파일 읽기

while (($data = fgetcsv($handle, null, ",")) !== FALSE) 

및 화면 "첫 번째 줄 건너 뛰기".

Checking row 0... 
Title row..skipping 
Title row..skipping 
Title row..skipping 
Title row..skipping 
Title row..skipping 
Title row..skipping 
Title row..skipping 
Checking row 1... 

내가 지금 무엇을해야 그것은 단지 그것을 인쇄 :이 배의 무리가 여기에 표시 된 "건너 뛰는 ... 제목 행"출력합니다 그 동안 루프 이후

if($data[0]=="title") 
echo "Title row..skipping<br />"; 
else 
//do stuff 

문제는 한번 나가? php의 출력 버퍼링과 관련이 있습니까?

+0

출력이 정말 이상하게 보입니다. csv 파일의 형식이 올바른지 확인하십시오. – Ben

+1

코드를 게시하십시오. 당신의 문제는 우리가 볼 수있는 부분에 있지 않습니다. –

답변

0
if($data[0]=="title") { 
    if (!$skipped) { 
    echo "Title row..skipping<br />"; 
    $skipped = true; 
    } 
} 
else 
//do stuff 
+0

영리한;) 나는 그 생각해야합니다 –

1

또는 하나의 선으로 앞으로 핸들러를 이동, 할당하지 않고 한 번 fgetcsv($handle, null, ",") 전화 :

fgetcsv($handle, null, ","); 

while (($data = fgetcsv($handle, null, ",")) !== FALSE) { 
    // do stuff 
} 
0

당신은 다음 첫 번째 줄을 건너 뛸 필요가 특정 알고있는 경우;

if(!$skipped) 
{ 
    echo "Title row..skipping<br />"; 
    $skipped = true; 
} 
else 
//do stuff 
+0

참고 : Ast 대답에서 원했던, P – Poni

+0

열망! = 영감을. = P –

0

내가 그것을 foreach는 사용하는 것이 더 우아한 될 거라고 생각 :

foreach data as item { 
    if (item == "title") { 
    echo "Skipping title<br/>"; 
    } 
} 

지금 그것을 가지고 어떻게, 당신은 매번 루프를 if (data[0] == "title")을 확인하고 있습니다. data[0]은 항상 "title"과 같으므로 항상 true로 평가됩니다. $index 변수를 증가시키고 이 본질적으로 그렇게 할 때 다음에 루프 하단에 $index++과 같은 것을 수행 할 수 있습니다.