Rumah pembangunan bahagian belakang tutorial php PHP 5.5 empty + 戏法变量 的坑

PHP 5.5 empty + 戏法变量 的坑

Jun 13, 2016 am 11:55 AM
body empty property raw response

PHP 5.5 empty + 魔术变量 的坑

今天在测试代码时遇到这么一个疑问?

			dump((int)empty($response->raw_body));						$response_body = $response->raw_body;						dump(' ' . (int)empty($response_body));
Salin selepas log masuk

?这段代码的输出结果却是:

写道
1
0

?

为什么会这样呢,很奇怪是不是? 我那个 $response 是一个类对象,其获取

raw_body
Salin selepas log masuk

属性是通过魔术函数来获取的

public function __get($property)	{		echo 123;		if (property_exists($this, $property)) {			return $this->$property;		}	}
Salin selepas log masuk

?

为了测试,我在上面的代码中输出了 123,结果显示

写道
1

123

0

?

也就是说

(int)empty($response->raw_body)
Salin selepas log masuk

时并没有去执行 对象 $response 的 __get 方法

?

所以在用PHP魔术变量的童鞋们 注意下这个坑

?

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang perlu saya lakukan jika chkdsk tidak boleh digunakan oleh pemacu mentah? Apakah yang perlu saya lakukan jika chkdsk tidak boleh digunakan oleh pemacu mentah? Mar 06, 2023 pm 03:27 PM

Penyelesaian kepada masalah yang chkdsk tidak boleh digunakan oleh pemacu mentah: 1. Klik kanan ikon Win pada bar tugas bawah dan klik pilihan "Jalankan" dalam bar menu pop timbul 2. Masukkan "chkdsk /?" tetingkap baris arahan, dan kemudian klik kekunci Enter untuk mengesahkan ;3 Tunggu alat chkdsk berjalan dengan jayanya.

Notis PHP: Mencuba untuk mendapatkan harta bukan objek - Penyelesaian Notis PHP: Mencuba untuk mendapatkan harta bukan objek - Penyelesaian Aug 17, 2023 am 09:27 AM

Notis PHP: Tryingtogetpropertyofnon-object-Solution Semasa proses pembangunan PHP, kita mungkin menghadapi mesej ralat biasa: Tryingtogetpropertyofnon-object (cuba mendapatkan sifat bukan objek). Ralat ini biasanya disebabkan apabila kita cuba mengakses harta (atau memanggil kaedah) pada pembolehubah yang bukan jenis objek. Artikel ini akan memperkenalkan anda kepada ini

Penyelesaian kepada Notis PHP: Harta yang tidak ditentukan: Penyelesaian kepada Notis PHP: Harta yang tidak ditentukan: Jun 22, 2023 pm 02:48 PM

Semasa menulis kod dalam PHP, kami mungkin menghadapi mesej ralat "Notis: Undefinedproperty". Ralat ini bermakna kami sedang mengakses sifat yang tidak ditentukan, biasanya kerana sifat tersebut belum dimulakan dalam kod. Jadi, bagaimana untuk menyelesaikan masalah ini? Berikut ialah beberapa penyelesaian yang mungkin: Mulakan sifat Ini adalah cara paling mudah untuk menyelesaikan masalah ini. Memulakan sifat dalam kod secara eksplisit memastikan ia ditakrifkan sebelum digunakan. Contohnya: kelas

Pembangunan Laravel: Bagaimana untuk mengembalikan respons menggunakan Respons Laravel? Pembangunan Laravel: Bagaimana untuk mengembalikan respons menggunakan Respons Laravel? Jun 14, 2023 am 10:39 AM

Laravel ialah rangka kerja pembangunan web PHP yang popular yang menyediakan banyak ciri dan komponen berguna, termasuk pulangan respons. Pulangan respons adalah konsep yang sangat penting dalam Laravel kerana ia mengawal cara aplikasi web memberikan maklumat kepada pelanggan. Dalam artikel ini, kami akan memperincikan pelbagai cara respons Laravel dikembalikan dan cara menggunakan LaravelResponse untuk mengembalikan respons. Untuk mengembalikan rentetan dalam Laravel, anda boleh menggunakan objek Respons

PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan Mar 21, 2024 pm 09:21 PM

Artikel ini akan menerangkan secara terperinci bagaimana PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan Editor berpendapat ia sangat praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda boleh memperoleh sesuatu selepas membaca artikel ini. PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan: Dalam PHP, terdapat banyak cara untuk menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan: 1. Gunakan fungsi isset(): isset($array["key"]) Fungsi ini mengembalikan nilai Boolean, benar jika kunci yang ditentukan wujud, palsu sebaliknya. 2. Gunakan fungsi array_key_exists(): array_key_exists("key",$arr

TypeError: Tidak dapat membaca sifat 'XXX' null dalam Vue, apakah yang perlu saya lakukan? TypeError: Tidak dapat membaca sifat 'XXX' null dalam Vue, apakah yang perlu saya lakukan? Nov 25, 2023 pm 01:21 PM

Vue ialah rangka kerja JavaScript yang popular untuk membina antara muka pengguna. Semasa proses pembangunan, kami mungkin menghadapi pelbagai ralat dan pengecualian. Salah satu ralat biasa ialah "TypeError:Cannotreadproperty'XXX'ofnull". Dalam artikel ini, kami akan meneroka punca ralat ini dan cara membetulkannya. Pertama, mari kita fahami sebab di sebalik ralat ini. Apabila kita cuba mengakses harta atau kaedah objek, jika pasangan itu

TypeError: Tidak dapat membaca sifat 'XXX' undefined dalam Vue, apakah yang perlu saya lakukan? TypeError: Tidak dapat membaca sifat 'XXX' undefined dalam Vue, apakah yang perlu saya lakukan? Nov 25, 2023 am 10:56 AM

TypeError:Cannotreadproperty'XXX'ofudefined dalam Vue, apakah yang perlu saya lakukan? Bagi pembangun bahagian hadapan yang menggunakan Vue untuk membangunkan, mereka mungkin sering menghadapi ralat TypeError:Cannotreadproperty'XXX'fundefined semasa proses pembangunan. Ralat ini biasanya berlaku apabila cuba mengakses harta yang tidak ditentukan. wujud

TypeError: Tidak dapat membaca sifat '$XXX' undefined dalam Vue, apakah penyelesaiannya? TypeError: Tidak dapat membaca sifat '$XXX' undefined dalam Vue, apakah penyelesaiannya? Nov 25, 2023 am 10:00 AM

TypeError:Cannotreadproperty'$XXX'ofudefined dalam Vue, apakah penyelesaiannya? Dalam pembangunan Vue, ralat seperti TypeError:Cannotreadproperty'$XXX'ofundefined sering ditemui. Ralat ini biasanya disebabkan oleh menggunakan sifat atau kaedah yang tidak ditentukan dalam contoh Vue. Apabila ralat ini berlaku, kita perlu

See all articles