<?php
$a=1;
?>
<?=$a;?>
Was <?=
bedeutet genau?
;
redundant ist; Wie aus den Antworten hervorgeht, wird dieses Short-Tag echo
gemäß den PHP-Dokumenten zu einem mit einem am Ende hinzugefügten Semikolon erweitert .
<?php
$a=1;
?>
<?=$a;?>
Was <?=
bedeutet genau?
;
redundant ist; Wie aus den Antworten hervorgeht, wird dieses Short-Tag echo
gemäß den PHP-Dokumenten zu einem mit einem am Ende hinzugefügten Semikolon erweitert .
Antworten:
Es ist eine Abkürzung für <?php echo $a; ?>
.
Es ist standardmäßig aktiviert seit 5.4 unabhängig von den php.ini
Einstellungen.
<?=
für <?php echo
would'nt genug sein. Ab heute hoffe ich, dass ihr keine Produktionsserver mit PHP <5.6 habt, da diese Versionen nicht mehr gepflegt werden ( PHP Supported Versions ).
Es ist eine Abkürzung dafür:
<?php echo $a; ?>
Sie werden kurze Tags genannt; siehe Beispiel 2 in der Dokumentation .
short_open_tag = On
Da es keinen Mehrwert bringt, zu wiederholen, was es bedeutet echo
, dachte ich, Sie möchten sehen, was genau in PHP bedeutet:
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
)
)
Sie können diesen Code verwenden, um ihn selbst zu testen:
$tokens = token_get_all('<?=$a;?>');
print_r($tokens);
foreach($tokens as $token){
echo token_name((int) $token[0]), PHP_EOL;
}
Aus der Liste der Parser Tokens , hier ist das, was T_OPEN_TAG_WITH_ECHO Links zu .
<?= $a ?>
ist das gleiche wie <? echo $a; ?>
, nur eine Abkürzung für die Bequemlichkeit.
Ab PHP 5.4.0,
<?= ?>
sind sie auch ohne den in php.ini festgelegten short_open_tag immer verfügbar.
Ab PHP 7.0 werden außerdem die ASP-Tags:
<%, %>
und das Skript-Tag
<script language="php">
aus PHP entfernt.
<?=$a; ?>
ist eine Abkürzung für:
<?php echo $a; ?>
Es ist eine Verknüpfung, <?php echo $a; ?>
wenn short_open_tag
s aktiviert sind. Ref: http://php.net/manual/en/ini.core.php
Ich hoffe es wird nicht veraltet. Während das Schreiben <? blah code ?>
mit XHTML ziemlich unnötig und verwirrend ist,<?=
ist dies aus offensichtlichen Gründen nicht der . Leider benutze ich es nicht, weil short_open_tag immer mehr deaktiviert zu sein scheint.
Update: Ich verwende <?=
es jetzt wieder, da es standardmäßig mit PHP 5.4.0 aktiviert ist. Siehe http://php.net/manual/en/language.basic-syntax.phptags.php