eval — 문자열을 PHP 코드로 평가하기
설명 ¶
mixed eval ( string $code )
주어진 코드를 PHP로 평가합니다.
Caution
eval () 언어 구조는 임의의 PHP 코드를 실행할 수 있으므로 매우 위험합니다. 따라서 그 사용은 권장되지 않습니다. 이 구성을 사용하는 것 외에 다른 옵션이 없다는 것을주의 깊게 확인한 경우, 사전에 적절하게 유효성을 검사하지 않은 상태에서 사용자가 제공 한 데이터를 전달하지 않도록 특히주의하십시오.
인수 ¶
code
유효한 PHP 코드를 평가할 수 있습니다.
PHP 태그를 열고 닫을 때 코드를 감싸서는 안됩니다 (예 : 'echo'). "; ' '대신 <? php echo "안녕하세요!"; ?> '. 적절한 PHP 태그를 사용하여 PHP 모드를 종료하고 다시 시작할 수 있습니다. 'echo "PHP 모드에서!"; ?> HTML 모드에서! <? php echo "PHP 모드로 돌아 가기!";
그 외에도 전달 된 코드는 유효한 PHP 여야합니다. 여기에는 모든 문장을 세미콜론을 사용하여 적절하게 종료해야합니다. 'echo "안녕하세요!"'예를 들어 구문 분석 오류가 발생하는 반면 'echo "안녕하세요!";' 작동합니다.
return 문은 코드 평가를 즉시 종료합니다.
이 코드는 eval ()을 호출하는 코드의 범위 내에서 실행됩니다. 따라서 eval () 호출에서 정의되거나 변경된 변수는 종료 된 후에도 계속 표시됩니다.
반환값 ¶
eval ()은 평가 된 코드에서 return이 호출되지 않으면 NULL을 반환하며,이 경우 return에 전달 된 값이 반환됩니다. PHP 7에서 평가 된 코드에 구문 분석 오류가 있으면 eval ()은 ParseError 예외를 throw합니다. PHP 7 이전에는이 경우 eval ()이 FALSE를 반환했으며 다음 코드의 실행이 정상적으로 계속되었습니다. set_error_handler ()를 사용하여 eval ()에서 구문 분석 오류를 포착하는 것은 불가능합니다.
예제 ¶
<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
?>
위 예제의 출력:
This is a $string with my $name in it.
This is a cup with my coffee in it.
'IT > php' 카테고리의 다른 글
sleep — 지연 실행 (0) | 2017.01.19 |
---|---|
php highlight_file — 파일의 구문 강조 표시 (0) | 2017.01.19 |
php die — 이탈에 해당합니다. (0) | 2017.01.18 |
php exit — 메시지를 출력하고 현재 스크립트를 종료합니다. (0) | 2017.01.18 |
php defined — 지정된 이름의 정수가 존재할지 어떨지를 판정합니다. (0) | 2017.01.18 |