2012-09-13 4 views
1

이와 비슷한 방법으로 작성할 수 있습니까? 나는 그 전에 본 적이 생각하지만 그렇지 않았기 때문에PHP 세 번째와 비슷한 축약 형인 경우

$var1 = 'foo'; 
$var2 = ($var1) ? $var1 : 'bar'; 
echo $var2; //Outputs foo 

$var1 = false; 
$var2 = ($var1) ? $var1 : 'bar'; 
echo $var2; //Outputs bar 

$var2 = ($var1) ? $var1 : 'bar'; 

예 .. 내가 일하는 것이

$var2 = $var1 || 'bar'; 

를 희망했다. 어떤 아이디어?

감사합니다.

답변

-2

PHP 5.3 이전 버전이 없습니다.

PHP 5.3 이전 버전과의 호환성이 중요한 경우 방법을 제안합니다.

function b($a, $b) { return $a?$a:$b; } 

B 최고뿐만 아니라 짧음.

사용법 : PHP 5.3 이후

echo b($username, "Not logged in"); 
+1

5.3의 결과로 맞지 않는다. – lanzz

1

거의 정확함. PHP 5.3 (나는 믿는다)부터 새로운 구조가있다 :

<?php 
$foo = false; 
$foo = $foo ?: 'bar'; 

echo $foo; // $foo is now "bar". 
관련 문제