Perbezaan antara PHP5 dan PHP7 mengenai mendapatkan fungsi

藏色散人
Lepaskan: 2023-02-18 08:44:01
ke hadapan
1767 orang telah melayarinya

Perbezaan antara PHP5 dan PHP7 dalam mendapatkan elemen tatasusunan sebagai nama fungsi dinamik

Apabila melaksanakan fungsi/kaedah melalui pembolehubah dalam PHP5 dan PHP7, mungkin terdapat perbezaan disebabkan perbezaan versi Tidak konsisten strategi tafsiran menghalang kod yang sama daripada dijalankan.

Contoh

$a = ['add', 'sub'];
class Test
{
  public function add()
  {
    echo 1 + 2;
  }
}
$t = new Test();
$t->$a[0]();
Salin selepas log masuk

Contoh di atas boleh dijalankan secara normal di bawah PHP5.6, tetapi di bawah PHP7 ia akan membuang ralat Fatal: Nama fungsi mestilah rentetan. Ini kerana apabila melaksanakan t->t−>a0 di bawah PHP5, $a[0] akan dilaksanakan terlebih dahulu, nilai elemen akan diperoleh, dan kemudian kaedah khusus objek akan dilaksanakan.

Di bawah PHP7, t->t−>a akan dilaksanakan terlebih dahulu, menyebabkan ralat dilemparkan dan pelaksanaan terganggu. Jika anda perlu melaksanakannya seperti biasa di bawah PHP7, anda perlu mengubah suainya kepada t->{a[0]}().

Untuk perbezaan khusus, sila rujuk:

Perbezaan antara PHP5 dan PHP7 mengenai mendapatkan fungsi

Pembelajaran yang disyorkan: "Tutorial PHP7"

Atas ialah kandungan terperinci Perbezaan antara PHP5 dan PHP7 mengenai mendapatkan fungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:juejin.im
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!