<?php
$a=1;
?>
<?=$a;?>
Apa <?=
sebenarnya yang dimaksud?
;
itu berlebihan; karena jawaban menyarankan tag pendek ini diperluas ke echo
dengan tanda koma yang ditambahkan di akhir, sesuai dengan dokumen php .
<?php
$a=1;
?>
<?=$a;?>
Apa <?=
sebenarnya yang dimaksud?
;
itu berlebihan; karena jawaban menyarankan tag pendek ini diperluas ke echo
dengan tanda koma yang ditambahkan di akhir, sesuai dengan dokumen php .
Jawaban:
Ini singkatan untuk <?php echo $a; ?>
.
Ini diaktifkan secara default sejak 5.4 terlepas dari php.ini
pengaturan.
<?=
untuk tidak <?php echo
akan cukup. Pokoknya pada hari ini saya harap kalian tidak memiliki server produksi yang menjalankan PHP <5.6 karena versi ini tidak dikelola lagi ( Versi yang Didukung PHP ).
Ini adalah singkatan untuk ini:
<?php echo $a; ?>
Itu disebut tag pendek; lihat contoh # 2 dalam dokumentasi .
short_open_tag = On
Karena itu tidak akan menambah nilai untuk mengulangi artinya echo
, saya pikir Anda ingin melihat apa artinya dalam 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
)
)
Anda dapat menggunakan kode ini untuk mengujinya sendiri:
$tokens = token_get_all('<?=$a;?>');
print_r($tokens);
foreach($tokens as $token){
echo token_name((int) $token[0]), PHP_EOL;
}
Dari Daftar Token Parser , inilah tautan T_OPEN_TAG_WITH_ECHO .
<?= $a ?>
sama dengan <? echo $a; ?>
, hanya singkatan untuk kenyamanan.
Pada PHP 5.4.0,
<?= ?>
selalu tersedia bahkan tanpa set short_open_tag di php.ini.
Selanjutnya, pada PHP 7.0, Tag ASP:
<%, %>
dan tag skrip
<script language="php">
dihapus dari PHP.
<?=$a; ?>
adalah jalan pintas untuk:
<?php echo $a; ?>
Ini adalah jalan pintas untuk <?php echo $a; ?>
jika short_open_tag
s diaktifkan. Ref: http://php.net/manual/en/ini.core.php
Saya harap itu tidak ditinggalkan. Walaupun menulis <? blah code ?>
tidak perlu dan membingungkan dengan XHTML, <?=
tidak, karena alasan yang jelas. Sayangnya saya tidak menggunakannya, karena short_open_tag tampaknya semakin dinonaktifkan.
Pembaruan: Saya menggunakan <?=
lagi sekarang, karena diaktifkan secara default dengan PHP 5.4.0. Lihat http://php.net/manual/en/language.basic-syntax.phptags.php