2014-02-28 2 views
0

PHP에서는 많은 시간 동안 여는 태그와 닫는 태그를 조건부로 에코해야합니다. 예를 들어, 요소 목록을 가져올 때 표시 할 요소가 두 개 이상 (<li> 초) 인 경우에만 <ul> ... </ul>을 포함하고자합니다. 가장 확실한 해결책은 다음과 같습니다.조건부로 열기 및 닫기 HTML 태그 열기

<?php 
    $count = getCount(); 
    if($count > 0) { 
     echo "<ul>"; 
    } 
    for($i = 0; $i < $count; $i++) { 
     // echo our items 
     echo "<li>" . getItem() ."</li>"; 
    } 
    if($count > 0) { 
     echo "</ul>"; 
    } 
?> 

그러나 우리는 같은 if(...)을 두 번 가지고 있습니다. 조건부로 <ul> 태그를 에코하는 더 좋은 방법이 있습니까?

+0

물론 이것은 목록 이외의 다른 응용 프로그램을 가질 수 있습니다. 에코 할 내용이있는 경우에만 ''을 반향합니다. – geoff

+0

당신은 왜 두 사람이 필요하다고 생각합니까? –

답변

2

당신이 가서 ... 하나 if :이 또한 현재 코드 : 물론

에 가지고있는 루프에 대한 불필요한을 건너

<?php 
    $count = getCount(); 
    if($count > 0) { 
     echo "<ul>"; 
     for($i = 0; $i < $count; $i++) { 
      // echo our items 
      echo "<li>" . getItem() ."</li>"; 
     } 
     echo "</ul>"; 
    } 
?> 

나는 조금 농담. 마침내 스파게티 코드를 작성하기를 원한다면 다양한 템플릿 엔진을 살펴볼 수 있습니다.

1

HTML을 출력하는 더 좋은 방법은 템플릿 엔진을 사용하는 것이며 PHP 코드를 통해 HTML을 직접 출력하지 않는 것입니다.

다음
0

두 개의 if 문은 필요하지 않습니다. 한 문장으로 모든 것을 할 수 있습니다.

if($count > 0) { 
    echo "<ul>"; 
    for($i = 0; $i < $count; $i++) { 
    // echo our items 
    echo "<li>" . getItem() ."</li>"; 
    } 
    echo "</ul>"; 
}