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

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.

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

개발자팁

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

+
분류 제목 글쓴이 날짜 조회
PHP 9년 전 조회 2,461
PHP 9년 전 조회 2,341
PHP 9년 전 조회 2,274
PHP 9년 전 조회 2,172
PHP 9년 전 조회 2,679
PHP 9년 전 조회 2,497
PHP 9년 전 조회 2,785
JavaScript 9년 전 조회 2,776
PHP 9년 전 조회 3,463
기타 9년 전 조회 5,326
기타 9년 전 조회 3,322
PHP 9년 전 조회 3,816
PHP 9년 전 조회 2,933
PHP 9년 전 조회 3,360
PHP 9년 전 조회 3,291
PHP 9년 전 조회 2,195
PHP 9년 전 조회 2,046
PHP 9년 전 조회 2,079
PHP 9년 전 조회 2,535
PHP 9년 전 조회 2,758
PHP 9년 전 조회 2,481
PHP 9년 전 조회 2,604
OS 9년 전 조회 2,882
PHP 9년 전 조회 3,292
PHP 9년 전 조회 2,622
PHP 9년 전 조회 2,500
PHP 9년 전 조회 2,878
PHP 9년 전 조회 2,565
PHP 9년 전 조회 2,379
PHP 9년 전 조회 2,005