Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ralat PHP: Penyelesaian untuk cuba memberikan hasil bukan pembolehubah!

Ralat PHP: Penyelesaian untuk cuba memberikan hasil bukan pembolehubah!

PHPz
PHPzasal
2023-08-17 09:16:411076semak imbas

Ralat PHP: Penyelesaian untuk cuba memberikan hasil bukan pembolehubah!

Ralat PHP: "Percubaan untuk menetapkan hasil penyelesaian bukan pembolehubah"!

Semasa proses pembangunan PHP, kami sering menghadapi pelbagai ralat dan pengecualian. Salah satunya ialah "cuba berikan hasil bukan pembolehubah". Ralat ini biasanya berlaku apabila memberikan nilai kepada pembolehubah, dan hasil tugasan bukan pembolehubah yang sah. Artikel ini akan memperincikan punca ralat ini dan menyediakan penyelesaian yang sepadan.

Mula-mula, mari kita lihat contoh kod untuk menghasilkan semula ralat ini:

$string = "Hello, World!";
echo $string() = "Goodbye, World!";

Apabila kita melaksanakan kod di atas, kita akan menghadapi ralat PHP: "Percubaan untuk menetapkan hasil bukan pembolehubah". Ini kerana kami tersilap menggunakan penulisan berfungsi apabila memberikan nilai kepada pembolehubah $string.

Dalam contoh di atas, kami cuba menetapkan rentetan "Selamat tinggal, Dunia!" Walau bagaimanapun, kami tersilap menggunakan sintaks tugasan berfungsi dan memanggil pembolehubah $string() sebagai fungsi. Kemudian hasil panggilan fungsi "Selamat tinggal, Dunia!" diberikan kepada bukan pembolehubah, yang menyebabkan ralat ini.

Untuk menyelesaikan ralat ini, kami perlu menjelaskan peraturan sintaks untuk penugasan pembolehubah. Dalam PHP, penugasan pembolehubah memerlukan penggunaan tanda sama (=). Cara yang betul untuk menulisnya ialah:

$string = "Goodbye, World!";

Kini, kami tahu bagaimana untuk membetulkan ralat ini. Seterusnya, mari kita terokai lebih lanjut beberapa situasi di mana ralat ini mungkin berlaku dan menyediakan beberapa penyelesaian tambahan.

  1. Cara penulisan yang salah: Tetapkan secara langsung hasil panggilan fungsi kepada pembolehubah

Kadang-kadang kita mungkin membuat kesilapan biasa, tetapkan secara langsung hasil panggilan fungsi kepada pembolehubah dan bukannya menggunakan nama fungsi sebagai pembolehubah nama . Contohnya:

$result = myFunction();

Dalam contoh ini, jika myFunction() mengembalikan hasil bukan pembolehubah, ralat "Percubaan untuk menetapkan hasil bukan pembolehubah" akan berlaku. Untuk mengelakkan ralat ini, kita harus memastikan bahawa nama fungsi diikuti oleh kurungan parameter untuk menunjukkan panggilan fungsi. Cara yang betul untuk menulisnya hendaklah:

$result = myFunction();
  1. Cara yang salah untuk menulisnya: tetapkan secara langsung hasil kaedah objek kepada pembolehubah

Satu lagi kesilapan yang biasa ialah menetapkan secara terus panggilan kaedah objek kepada pembolehubah. Contohnya:

$result = $object->myMethod();

Dalam contoh ini, jika myMethod() mengembalikan hasil bukan pembolehubah, ralat "Percubaan untuk menetapkan hasil bukan pembolehubah" juga akan berlaku. Untuk menyelesaikan masalah ini, kita harus memastikan bahawa panggilan kaedah objek diikuti oleh kurungan parameter untuk menunjukkan panggilan kaedah. Cara yang betul untuk menulisnya hendaklah:

$result = $object->myMethod();

Ringkasnya, apabila kita menghadapi ralat PHP: "Percubaan untuk menetapkan hasil bukan pembolehubah", kita mesti menyemak dengan teliti sama ada pernyataan tugasan itu betul. Pastikan anda menggunakan tanda sama untuk tugasan berubah-ubah dan elakkan menggunakan panggilan kaedah fungsi atau objek secara salah.

Saya berharap melalui pengenalan artikel ini, pembaca dapat lebih memahami punca ralat ini dan mengelak daripada melakukan kesilapan yang sama dalam pembangunan PHP harian. Ingat, sintaks yang betul dan amalan pengekodan yang baik adalah kunci untuk menulis kod berkualiti tinggi!

Atas ialah kandungan terperinci Ralat PHP: Penyelesaian untuk cuba memberikan hasil bukan pembolehubah!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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