2012-04-05 4 views
-4

난 내 PHP에서 문이PHP 변수 평등 비교 간단한 방법

<? if(isset($_GET['mod']) && $_GET['mod'] == ("category" || "catalog")) echo 'id="active"';?> 

하지만 작동하지 않습니다.

가 나는 종종 내 웹 사이트에서 사용 PHP에서 많은 꽤 경우 - 한 - 라이너가 있으며 구문이기 때문에 나는, 두 번째 comprasion 유형이 작동하지해야

+4

짧은 PHP 태그 사용을 중단하십시오. – PeeHaa

답변

3

당신은 그것을 좋아 할 수 있습니다

if(isset($_GET['mod']) && in_array($_GET['mod'], array("category", "catalog")) 

@RepWhoringPeeHaa 제안으로, 서버의 일부를 지원하지 않을 수 있습니다으로 짧은 태그를 사용 중지합니다. 아래의 제안

또한, 당신과 같이, html로 외부의 PHP 코드를 분리하는 시도해야합니다 :

<?php 

    $active = ''; 

    $mods = array("category", "catalog"); 
    if (isset($_GET['mod']) && in_array($_GET['mod'], $mods)){ 
     $active = 'id="active"'; 
    } 

?> 

// html 
<div <?php echo $active; ?>></div> 
+0

감사합니다. 조금 짧습니다. 예 짧은 태그가 좋지 않으면 태그의 사용을 줄입니다. 감사 ! – remort

+0
+0

내 편집 위에 올려주세요 – scibuff

2
<?php 
if(isset($_GET['mod']) && in_array($_GET['mod'], array("category", "catalog"))) { 
    echo 'id="active"'; 
} 
0

)) 한 자세한 내용을 궁금해 잘못된. 두 개체를 "부착"한 다음 if 문의 다른 개체와 비교할 수는 없습니다.

1

첫째 : 짧은 PHP 태그를 사용 중지합니다. 사용 : <?php. 짧은 구문을 사용할 때 일부 서버 설정에 따라 달라지기 때문에 (이는 나쁜 것입니다).

당신은 당신의 코드를 더 쉽게 읽을 수 있도록 당신이 뭔가 할 수있는 유지 관리하려는 경우이 방법이

<?php 

$values = array('category', 
       'catalog', 
       ); 

if(isset($_GET['mod']) && in_array($_GET['mod'], $values)) { 
    echo 'id="active"'; 
} 

그것을 더 나은 방법 읽고 더 나은 방법 유지 보수. 다른 값을 확인하려면 어레이에 항목을 추가하기 만하면 계속 작동합니다.

가장 중요한 코드 인 중요한 유지 코드를 작성하는 것이 아니라는 점을 기억하십시오.

+0

이것은 HTML 템플릿에 짧은, 인라인 PHP 로직에 대한 바람직하지 않습니다. 정확하게 보이게하기 위해 HTML 코드에 바로 PHP 코드를 한 줄 삽입해야합니다. 하지만 in_array()에 대한 감사)) – remort

+0

아니야. 다시 말했듯이 모든 것을 하나의 짧은 줄로 만들어서는 안됩니다. 그 코드를 유지하고 무슨 일인지보고 다른 사람 (뿐만 아니라 자신을 위해) 짜증. – PeeHaa

+1

HTML 템플릿 외부에서 로직을 유지하는 것이 좋습니다. html 코드의 바깥 쪽에서'$ active = 'id = "active"';를하고, 그냥'echo $ active;'를 실행하면 ... php와 html을 모두 읽게됩니다. – scibuff

-2

당신은 배열을 사용하거나 원하는 해달라고하면 당신은 그것을 수행해야합니다

if(isset($_GET['mod']) AND (($_GET['mod'] == "category") OR ($_GET['mod'] == "catalog"))) echo 'id="active"'; 
+2

당신은 정말로 'AND'와'OR'을 사용하고 있다고 말하고 있습니까 ??? – PeeHaa

+0

거기에는 여러 가지 방법이 있습니다. 한 가지 방법입니다. 더 나은 경우에는 코드 구조를 읽기 쉽고 좋게하려면 AND, OR를 사용해야합니다. &&, || – ermya

0

PHP 5.4에 관계없이 INI 구성, 기본적으로 짧은 태그를 지원합니다.

다른 서버에 배포 할 가능성이있는 코드가 아닌 경우 짧은 태그를 사용하는 것이 안전하지만 짧은 태그를 지원하지 않는 서버를 변경하는 경우 문제가 발생할 수 있습니다.