Interpolasi Rentetan Tatasusunan Bersekutu dalam PHP
Interpolasi elemen tatasusunan terindeks rentetan PHP mempamerkan pelbagai gelagat yang mungkin mengejutkan pengguna. Apabila menginterpolasi elemen tatasusunan dalam rentetan petikan dua kali, pemerhatian berikut boleh dibuat:
Menggunakan indeks elemen tatasusunan dalam pendakap kerinting ($ha['key1']) atau kurungan ($ha[key1]) menghasilkan hasil yang dijangkakan dan menyebabkan amaran (penggunaan pemalar tidak ditentukan) dipancarkan.
Walau bagaimanapun, menginterpolasi elemen tatasusunan tanpa menyertakan indeksnya dalam petikan atau kurungan ($ha[key1]) juga menghasilkan output yang betul , walaupun secara sintaksis tidak dijangka.
Ini menimbulkan persoalan mengapa pernyataan terakhir dalam coretan kod yang disediakan di bawah dianggap sintaks PHP yang sah:
<code class="php">print "He said $ha[key1]";</code>
Penjelasan
Tingkah laku ini didokumenkan dalam manual PHP dan dianggap sebagai ciri yang dipercayai. Walaupun sintaks mungkin kelihatan tidak konvensional, ia adalah cara yang sah untuk menginterpolasi elemen tatasusunan dalam rentetan petikan dua kali.
Ketidakkonsistenan
Dokumentasi mengakui bahawa sintaks PHP telah berkembang lebih awal masa, membawa kepada ketidakkonsistenan. Dalam kes ini, keupayaan untuk menginterpolasi elemen tatasusunan tanpa menyertakan indeksnya dalam petikan atau kurungan adalah gambaran perkembangan sejarah PHP dan bukan amalan yang disyorkan untuk kod baharu.
Atas ialah kandungan terperinci Mengapa PHP Membenarkan Interpolasi Tatasusunan Tanpa Petikan atau Kurungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!