Wat betekent <?=
precies?
Antwoord 1, autoriteit 100%
Het is een afkorting voor <?php echo $a; ?>
.
Het is standaard ingeschakeld sinds 5.4ongeacht php.ini
instellingen.
Antwoord 2, autoriteit 18%
Het is een afkorting hiervan:
<?php echo $a; ?>
Ze worden korte tags genoemd; zie voorbeeld #2 in de documentatie.
Antwoord 3, autoriteit 8%
Omdat het geen enkele waarde zou toevoegen om te herhalen dat het echo
betekent, dacht ik dat je graag zou willen zien wat precies in PHP betekent:
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
)
)
Je kunt deze code gebruiken om hem zelf te testen:
$tokens = token_get_all('<?=$a;?>');
print_r($tokens);
foreach($tokens as $token){
echo token_name((int) $token[0]), PHP_EOL;
}
van de lijst van parser tokens , Hier is wat t_open_tag_with_echo links naar .
4, Autoriteit 4%
<?= $a ?>
is hetzelfde als <? echo $a; ?>
, gewoon steno voor gemak.
5, Autoriteit 3%
<?=$a; ?>
is een snelkoppeling voor:
<?php echo $a; ?>
6, Autoriteit 3%
Vanaf PHP 5.4.0,
<?= ?>
zijn altijd beschikbaar, zelfs zonder de Short_Open_Tag in Php.ini.
Bovendien, vanaf PHP 7.0, de ASP-tags:
<%, %>
en de script-tag
<script language="php">
worden verwijderd uit PHP.
7
Ik hoop dat het niet wordt afgeschreven. Tijdens het schrijven <? blah code ?>
is redelijk onnodig en verwarrend met xhtml, <?=
is niet, om voor de hand liggende redenen. Helaas gebruik ik het niet, omdat Short_Open_Tag steeds meer is uitgeschakeld.
Update: Ik gebruik <?=
NU NU, omdat het standaard is ingeschakeld met PHP 5.4.0.
Zie http://php.net/Manual/en/language.basic -syntax.phptags.php