环境:Windows / 7 + Apache / 2.2.21 + PHP / 5.3.8
test.php
的文件内容:
hello, <?=$test?>
index1.php
的文件内容:
<?php
$test = 'world';
require './test.php';
?>
index2.php
的文件内容:
<?php
global $test;
$test = 'world';
require './test.php';
?>
index1.php
的输出是:
hello,
index2.php的输出是:
hello, world
当test.php
的内容为:
hello, <? echo $test; ?>
index1.php
和index2.php
的输出均为:
hello, world
所以,我的问题是:<?=$test?>
和<? echo $test; ?>
之间有什么区别吗?
答案 0 :(得分:4)
不,没有区别。我认为只有<?
被认为是短标签,可能无效。
答案 1 :(得分:3)
有一点不同,可能会非常非常烦人。如果在php.ini中将short_open_tag
设置为false,则会收到很多错误。否则,完全一样。
在每种情况下,;
之前的最后?>
都是可选的。
答案 2 :(得分:2)
就此问题,<?=$x;?>
和<? echo $x; ?>
之间没有输出差异。
即使我认为这种包含活动PHP文件的技术在这种特定条件下并不是最佳实践。
晒。