2013-01-14 6 views
1
define('EMPTY', ''); 
if(!empty(EMPTY)) 
{ 
if(!(boolean) _CONSTANT) 
{ 
    print "One"; 
} 
} 

위의 코드는 다음과 같은 오류 메시지가 생성 : C에서 구문 오류, 예기치 않은 'EMPTY'(T_EMPTY) :PHP EMPTY 토큰

"구문 분석 오류 사용자 \ \ 로버트 \ 문서 \ 웹 개발 \의 XAMPP를 \ htdocs \ xampp \ web_development \ index.php (3 행) "

PHP 매뉴얼에서는"비어 있음 "이 토큰이 아니며이 함정에 대해 알려주지 않습니다.

+1

http://php.net/manual/en/reserved.keywords.php는 – Lusitanian

답변

-1

함수 이름은 대/소문자를 구분하지 않습니다. empty이기 때문이 empty 작동하지 않습니다

<?php 
function myfunc() { 
echo "inside myfunc()\n"; 
} 
define('str_replace', 'my string'); 
echo str_replace . "\n"; 
echo str_replace("A", "B", "AAAA") . "\n"; 
define('myfunc', 'this is myfunc constant'); 
echo myfunc . "\n"; 
myfunc(); 

/* 
Output: 
my string 
BBBB 
this is myfunc constant 
inside myfunc() 
*/ 

: PHP 토큰 함수 또는 상수 선언인지 확인 ()을 사용하기 때문에

$state = constant('EMPTY'); 
if (!empty($state)) { 
+0

이것은 PHP 5.5에서만 작동합니다. 아직 'empty()'가 표현을 받아 들일 수 없기 때문에 여전히 알파 단계에 있습니다. –

+0

http://www.php.net/manual/en/function.constant.php – tim

+1

'치명적인 오류 : 쓰기 context'에 –

0

이것은 문제가되지 않습니다 ... 그냥 상수의 다른 이름을 선택하십시오.

원할 경우 submit a documentation bug report 수 있습니다.

+1

그 문서화되지 않은 키워드가 문제가되지 않습니다 동의하지 않을 수 있습니다. – kojiro

+0

@kojiro, 다시 한번 말하면 ... 당신이 그것에 대해 알게되면 그것은 당신에게 문제가되지 않습니다. 새 이름을 선택하십시오. 문제가있는 경우 게시 한 링크를 사용하여 버그 보고서를 제출하십시오. 물론 그것은 일반적으로 문제입니다. – Brad