컴

eval — 문자열을 PHP 코드로 평가하기

· 2017-01-18 (수) 00:10:08 · 3712

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.

|
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
PHP 17-01-26 조회 2,683
PHP 17-01-24 조회 2,555
PHP 17-01-24 조회 3,039
PHP 17-01-24 조회 2,879
PHP 17-01-22 조회 3,135
JavaScript 17-01-22 조회 3,140
PHP 17-01-22 조회 3,815
기타 17-01-22 조회 5,673
기타 17-01-21 조회 3,673
PHP 17-01-19 조회 4,238
PHP 17-01-19 조회 3,306
PHP 17-01-19 조회 3,773
PHP 17-01-18 조회 3,713
PHP 17-01-18 조회 2,570
PHP 17-01-18 조회 2,412
PHP 17-01-17 조회 2,494
PHP 17-01-17 조회 2,886
PHP 17-01-17 조회 3,129
PHP 17-01-17 조회 2,847
PHP 17-01-17 조회 2,997
OS 17-01-17 조회 3,277
PHP 17-01-16 조회 3,708
PHP 17-01-16 조회 2,996
PHP 17-01-16 조회 2,873
PHP 17-01-15 조회 3,282
PHP 17-01-14 조회 2,953
PHP 17-01-14 조회 2,747
PHP 17-01-14 조회 2,392
PHP 17-01-13 조회 2,684
PHP 17-01-13 조회 3,096