Rumah > pembangunan bahagian belakang > tutorial php > Mengapa PHP Melemparkan Ralat \'Tidak boleh menggunakan nilai pulangan fungsi dalam konteks tulis\' dan Bagaimana Saya Boleh Membetulkannya?

Mengapa PHP Melemparkan Ralat \'Tidak boleh menggunakan nilai pulangan fungsi dalam konteks tulis\' dan Bagaimana Saya Boleh Membetulkannya?

Linda Hamilton
Lepaskan: 2024-11-24 01:22:10
asal
733 orang telah melayarinya

Why Does PHP Throw a

Pengendalian Ralat PHP: Mentafsir "Tidak boleh menggunakan nilai pulangan fungsi dalam konteks tulis" Teka-teki

Mesej ralat misterius "Ralat maut : Tidak boleh menggunakan nilai pulangan fungsi dalam konteks tulis" boleh membingungkan, terutamanya apabila ia berkaitan dengan garis yang kelihatan agak mudah. Untuk membongkar ralat ini, mari kita mendalami konteks dan kod yang menyebabkan isu.

Mesej ralat menunjukkan bahawa percubaan telah dibuat untuk menetapkan nilai pulangan fungsi kepada pembolehubah dalam pernyataan if pada baris 48. Walau bagaimanapun , dalam PHP, nilai pulangan fungsi tidak boleh digunakan secara langsung dalam konteks tulis, seperti dalam pernyataan tugasan. Baris yang terjejas, "if (isset($_POST('sms_code') == TRUE ) {", menggambarkan kesilapan ini. Baris 48 cuba untuk menetapkan hasil fungsi isset(), yang mengembalikan boolean, kepada pembolehubah.

Untuk menyelesaikan isu ini, kod boleh diubah suai untuk memberikan hasil kepada pembolehubah dan kemudian menggunakan pembolehubah itu dalam keadaan if Contohnya, pengubahsuaian berikut akan kerja:

$isset_result = isset($_POST('sms_code'));
if ($isset_result == TRUE) {
Salin selepas log masuk

Sebagai alternatif, operator ternary boleh digunakan untuk memudahkan kod:

$state = $isset_result ? CORRECT_CODE : NOTHING_SUBMITED;
Salin selepas log masuk

Selain itu, seperti yang dinyatakan dalam jawapan yang disediakan, empty() hanya boleh digunakan dengan pembolehubah dan bukan nilai pulangan fungsi Dalam kes di mana kosong() bertujuan untuk digunakan dengan nilai pulangan fungsi, fungsi trim() boleh digunakan sebagai ganti contoh:

!empty(trim($someText)) ? doSomething() : doSomethingElse(); 
Salin selepas log masuk

Dengan menangani isu ini, kod akan berfungsi seperti yang diharapkan dan ralat "Tidak boleh menggunakan nilai pulangan fungsi dalam konteks tulis" tidak akan berlaku lagi.

Atas ialah kandungan terperinci Mengapa PHP Melemparkan Ralat \'Tidak boleh menggunakan nilai pulangan fungsi dalam konteks tulis\' dan Bagaimana Saya Boleh Membetulkannya?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan