Saya sedang menulis aplikasi PHP dan saya ingin memastikan itu akan berfungsi tanpa kesalahan.
Kode asli:
<?php
$data = array('name' => 'test',
'id' => 'theID');
echo form_input($data);
?>
Apakah yang berikut ini berfungsi tanpa kesalahan atau tidak disarankan karena alasan tertentu?
<?= form_input(['name' => 'test', 'id' => 'theID']); ?>
Apakah ada perbedaan?
Saya telah melihat kembali data tentang array()
dan metode array pendek dengan tanda kurung []
di PHP.net tapi saya tidak yakin.
Dan juga, apakah tag php pendek <?= ?>
baik untuk digaungkan? Apakah ada masalah versi? (disediakan diaktifkan di php.ini)
php
arrays
syntax
square-bracket
Mr.Web
sumber
sumber
Jawaban:
Berikut
[]
ini didukung dalam PHP> = 5.4:Ini hanya sintaks pendek dan dalam PHP <5,4 itu tidak akan berfungsi .
sumber
$data = new stdClass();$data->someProp = 'someValue';
menggunakanPHP
kelas standar dan$obj = (object) ['foo'=>'bar', 'baz'=>'biz'];
untuk mengkonversi array (menggunakan tipe eksplisit casting) ke objek (stdClass) tetapi mengenai{}
, itu bisa diimplementasikan di masa depan tetapi tidak yakin tho :-)Pada 2019, sudah 7 tahun sejak
[]
sintaks ditambahkan. Itu cukup lama untuk dihapusarray()
kecuali dalam program lawas lama, menurut saya.sumber
Jika Anda menggunakan versi 5.3 atau sebelumnya maka Anda tidak bisa menggunakan
[]
sebagai array maupun asosiatif array. Jika Anda menggunakan versi PHP 5.4 atau yang lebih baru maka Anda dapat menggunakan salah satuarray()
atau[]
untuk membuat array, array asosiatif atau bahkan array multidimensi.sumber
Dan mengenai
<?= ?>
bagian dari pertanyaan: sebagian besar tidak disukai, setidaknya tidak pada 2019.<?php
dan<?=
tag.sumber
Menggunakan php 7.2, bagi saya sepertinya bukan [saya sebuah array] {I am array tampaknya berfungsi}. Perbedaan antara
{}
dan[]
. Kode sayasumber