Rumah > pembangunan bahagian belakang > tutorial php > Bolehkah Sifat Kelas PHP Dimulakan dengan Ungkapan Tidak Malar?

Bolehkah Sifat Kelas PHP Dimulakan dengan Ungkapan Tidak Malar?

DDD
Lepaskan: 2024-10-30 05:41:28
asal
935 orang telah melayarinya

Can PHP Class Properties Be Initialized with Non-Constant Expressions?

Teka-teki Permulaan Kelas PHP: Menilai Ungkapan dalam Pengisytiharan Harta

Dokumentasi PHP menentukan bahawa pengisytiharan sifat kelas boleh dimulakan dengan nilai tetap. Walau bagaimanapun, pengguna telah menghadapi ralat sintaks apabila cuba untuk memulakan tatasusunan dengan ungkapan bukan tetap.

Contoh Ralat Sintaks:

<code class="php">public $var = array(
    1 => 4,
    2 => (4+1), // Syntax error
);</code>
Salin selepas log masuk

Isu Asas:

Ralat berpunca daripada pengehadan dalam PHP 5.5 dan versi terdahulu, di mana hanya nilai tetap dibenarkan dalam pengisytiharan harta. Ini termasuk nilai yang boleh dinilai pada masa penyusunan. Walau bagaimanapun, penggunaan ungkapan yang dikira, seperti "4 1," adalah dilarang.

Resolusi dalam PHP 5.6:

Penghadan ini telah ditarik balik dalam PHP 5.6 dengan pengenalan ungkapan skalar yang berterusan. Ciri ini membenarkan sintaks berikut:

<code class="php">public $var = array(
    1 => 4,
    2 => (4+1),
);

public $var = 4+1;</code>
Salin selepas log masuk

Kesimpulan:

Ralat sintaks yang ditemui dalam versi PHP yang lebih awal apabila memulakan sifat kelas dengan ungkapan bukan tetap mempunyai telah diselesaikan dalam PHP 5.6 dan versi yang lebih baru. Ungkapan skalar malar kini membolehkan pembangun memulakan sifat dengan nilai terkira yang boleh dinilai pada masa penyusunan.

Atas ialah kandungan terperinci Bolehkah Sifat Kelas PHP Dimulakan dengan Ungkapan Tidak Malar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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