2013-02-12 2 views
-2

테이블 행과 테이블 데이터에 대해 for 루프가 있습니다. 필자가 원하는 것은 모든 테이블 데이터에 클래스 이름을 추가하는 것입니다. 물론 클래스 이름은 같지 않을 것입니다.루프 내부의 함수

그러나 문제는 함수의 출력이 테이블 외부에있는 것입니다. 나는 이미 따옴표 또는 무언가를 검사한다, 그러나 아직도 그것은 밖에 둔다. 누구나 왜 나 한테 설명 할 수 있니?

function alphaCount(){ 
    for ($i=65; $i<=90; $i++) { 
    echo char($i); 
    } 
    for($i=1;$i<=10;$i++) { 
    echo '<td class="char-'.$i.'-'.$this->alphaCount.'"> </td>'; 
    } 
+0

어떤 테이블이 있습니까? 나는 하나를 볼 수 없다 – seferov

+7

그건 꽤 오타입니다 ... –

+0

@ Ferhad 질문의 텍스트에 있습니다. 코드 작성에 어려움을 겪었어야합니다. – Antony

답변

0

솔직히 말해서, 나는 당신의 코드를 많이 얻지는 않지만 당신이 묘사 한 문제에 따르면, 나는 그 문제가 다음과 같다고 생각한다.

당신은 몇 가지 식별자를 생성하는 기능을 가지고 있지만,이 같은 그것을 반환하는 대신 메아리 :

function getId() { 
    // something 
    echo $id; 
} 

을 그리고 당신이 항목을 생성 할 때, 당신이 겪고있는 다음 코드를

echo "<tr class='" . getId() . "'>...</tr>"; 

태그가 렌더링되기 전에 getId() 메서드가 식별자를 에코합니다. 당신은 return 문에 getId에 에코 문을 변경하여 중 하나를 해결하거나 다음과 같은 방법으로 항목 생성기를 다시 작성할 수 있습니다 :

echo "<tr class='" 
getId(); 
echo "'>...</tr>"; 

가 나는 이것이 당신이 문제를 가지고 무엇인가를 바란다. 당신이 (브라우저에서 '소스보기'에서) 결과 HTML 소스를 보면

0

, 당신은 잘못되었다고 볼 수 있습니다 : 첫 번째 루프의 출력은 모든 테이블 셀의 외부

abcdefg... 
<td class="char-1-?"> </td> 
<td class="char-2-?"> </td> 
... 

무엇 . 브라우저가 마치 테이블 바깥에있는 것처럼 처리합니다.

편집 : 질문에 괄호가 빠져서 실제 코드가 완전히 다른 것일 수도 있습니다. 원래 서식에서 알기 어려움.