<?php
$a=1;
?>
<?=$a;?>
<?=
정확히 무엇을 의미합니까?
<?php
$a=1;
?>
<?=$a;?>
<?=
정확히 무엇을 의미합니까?
답변:
short_open_tag = On
그것이 의미하는 것을 반복하기 위해 어떤 값도 추가하지 않기 때문에 echo
PHP에서 의미하는 것이 무엇인지 정확하게 알고 싶다고 생각 했습니다 .
Array
(
[0] => Array
(
[0] => 368 // T_OPEN_TAG_WITH_ECHO
[1] => <?=
[2] => 1
)
[1] => Array
(
[0] => 309 // T_VARIABLE
[1] => $a
[2] => 1
)
[2] => ; // UNKNOWN (because it is optional (ignored))
[3] => Array
(
[0] => 369 // T_CLOSE_TAG
[1] => ?>
[2] => 1
)
)
이 코드를 사용하여 직접 테스트 할 수 있습니다.
$tokens = token_get_all('<?=$a;?>');
print_r($tokens);
foreach($tokens as $token){
echo token_name((int) $token[0]), PHP_EOL;
}
<?= $a ?>
<? echo $a; ?>
편의상 단축형 과 같습니다 .
PHP 5.4.0부터
<?= ?>
php.ini에 short_open_tag를 설정하지 않아도 항상 사용할 수 있습니다.
또한 PHP 7.0부터 ASP 태그 :
<%, %>
및 스크립트 태그
<script language="php">
가 PHP에서 제거되었습니다.
이 활성화 되어 <?php echo $a; ?>
있으면 바로 가기입니다 short_open_tag
. 참조 : http://php.net/manual/en/ini.core.php
더 이상 사용되지 않기를 바랍니다. 글쓰기 <? blah code ?>
는 XHTML과 상당히 불필요하고 혼란 스럽지만 <?=
, 명백한 이유는 아닙니다. 불행히도 short_open_tag가 점점 비활성화되어있는 것처럼 보이기 때문에 사용하지 않습니다.
업데이트 :<?=
PHP 5.4.0에서 기본적으로 활성화되어 있기 때문에 다시 사용 합니다. http://php.net/manual/en/language.basic-syntax.phptags.php 참조