2014-04-03 2 views
0

PHP에서 상수를 사용하고 싶지만 "WEB"false으로 해석됩니다. 전에 상수를 사용하지 않았는데, 무엇을 놓치나요?PHP에서 상수를 사용하는 방법은 무엇입니까?

define("WEB", true); 
define("MOBILE", false); 
define("DESKTOP", false); 


if (defined('MOBILE' == true) || defined('DESKTOP' == true)){ 
echo "MOBILE or DESKTOP"; 
} else if (defined('WEB' == true)) { 
echo "WEB"; 
} 
+6

그건 당신이'정의 된 '방법을 사용하는 것이 아닙니다. 함수 호출 안에'== true' *를 넣지 마십시오. '('MOBILE') == true'를 정의하거나'== true'를 모두 삭제하십시오 : if (defined ('WEB')) {'. –

+0

http://www.php.net/manual/en/language.constants.php – Carsten

답변

4

defined()을 잘못 사용 중입니다. 상수가 정의되어 있는지 확인하고 있지 않습니다. 당신은 그들의 가치를 확인하고 있습니다. 그냥 당신이하고자 변수처럼을 확인하십시오 단축 할 수

if (MOBILE == true || DESKTOP == true){ 
echo "MOBILE or DESKTOP"; 
} else if (WEB == true) { 
echo "WEB"; 
} 

:

if (MOBILE || DESKTOP){ 
echo "MOBILE or DESKTOP"; 
} else if (WEB) { 
echo "WEB"; 
} 
0

defined는 상수 값을, 존재하지 여부를 제공합니다. 당신이 상수가 정의되어 있는지 확인하려면

if (MOBILE || DESKTOP){ 
    echo "MOBILE or DESKTOP"; 
} else if (WEB) { 
    echo "WEB"; 
} 
0

, 코드가 있어야한다 :

define("WEB", true); 
define("MOBILE", false); 
define("DESKTOP", false); 

if(defined('MOBILE') || defined('DESKTOP')) 
    echo "either MOBILE or DESKTOP is defined"; 
elseif(defined('WEB')) echo "WEB is defined"; 

당신이 상수 값이 참인지 거짓인지 확인하고 싶은 경우가있을 것입니다

if(MOBILE || DESKTOP) 
    echo "either MOBILE or DESKTOP is true"; 
elseif(WEB) echo "WEB is true"; 
관련 문제