2011-01-12 4 views

답변

3
$hahaha = get_option('hahaha'); 
echo $hahaha ? 'true' : 'false'; 

변수가 확실히 있기 때문에 empty 필요는 없다 세트. 순수한 부울 비교는 잘 작동합니다. 당신이 나중에 뭔가 다른 변수가 필요하지 않은 경우

, 당신은뿐만 아니라 그것을 건너 뛸 수 있습니다 :

echo get_option('hahaha') ? 'true' : 'false'; 
2
$hahaha = get_option('hahaha'); 
echo empty($hahaha) ? 'true' : 'false'; 

는 삼항 연산자에 대한 자세한 내용은 http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary를 참조하십시오) (내 상상력)

<?php $hahaha = get_option('hahaha'); 
    if(empty($hahaha)) { 
     echo 'false'; 
    } 
    else { 
     echo 'true'; 
    } 
?> 

코드는 나에게 절름발이 보이는 같은이 짧은 만드는 방법이있다.

+0

그건 그렇고 질문에서 얻은 것에서 플립 플롭했습니다. – coreyward

4

당신은 삼항 연산자를 사용할 수 있지만, 나는 그것이 가독성을 위해 많은 작업을 수행 확실하지 않다 :

echo (empty($hahaha) ? 'false' : 'true'); 
+0

조건부 연산자가 왜 잘못되었는지 알 수 없습니다. 귀하가 게시 한 내용은 if 문과 같이 읽을 수 있습니다. 훨씬 복잡한 표현으로 악용 될 때 가독성에만 해가됩니다. –

+0

@ 윌 : 그것은 * 더 * 읽기 쉽지 않습니다. –

1
echo empty($hahaha)?'false':'true'; 
0
echo empty($hahaha = get_option('hahaha')) ? 'false' : 'true'; 
+1

그건 잘못된 코드입니다. 'empty'는 언어 구조이며 표현식과 함께 사용할 수 없습니다. 게다가,'empty'는'== false'와 똑같지 만 설정되지 않은 변수에 대한주의를 던지기 때문에 여기서는 쓸모가 없습니다. 'echo! get_option ('hahaha')? ... '(물론 실패하지 않고) 똑같이했을 것입니다. – netcoder

-1
<?php $hahaha = get_option('hahaha'); 
echo (isset($hahaha)) ? 'true': 'false'; 
+3

'get_option'가'null'을 반환하지 않으면, 항상 true로 평가됩니다. 'empty ($ a)'는'$ a == false'와 같고'isset ($ a)'는'$ a! == null'과 같습니다. 단,'empty'와'isset' 둘 다 통지를 내뱉지 않습니다. 'Type comparison table '(http://php.net/manual/en/types.comparisons.php)에서'== false'가 무엇인지 알 수 있습니다. – netcoder

0

이 표시됩니다 0 또는 1

$options = get_options(...);

echo empty($options); 또는 echo !empty($options);

관련 문제