Heim Backend-Entwicklung PHP-Tutorial 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));
Nach dem Login kopieren

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

写道
1
0

?

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

raw_body
Nach dem Login kopieren

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

public function __get($property)	{		echo 123;		if (property_exists($this, $property)) {			return $this->$property;		}	}
Nach dem Login kopieren

?

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

写道
1

123

0

?

也就是说

(int)empty($response->raw_body)
Nach dem Login kopieren

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

?

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

?

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was soll ich tun, wenn chkdsk vom Raw-Laufwerk nicht verwendet werden kann? Was soll ich tun, wenn chkdsk vom Raw-Laufwerk nicht verwendet werden kann? Mar 06, 2023 pm 03:27 PM

Lösung für das Problem, dass chkdsk vom Raw-Laufwerk nicht verwendet werden kann: 1. Klicken Sie mit der rechten Maustaste auf das Win-Symbol in der unteren Taskleiste und klicken Sie auf die Option „Ausführen“ in der Popup-Menüleiste. 2. Geben Sie „chkdsk /?“ ein Öffnen Sie das Befehlszeilenfenster und klicken Sie dann zur Bestätigung auf die Eingabetaste. 3. Warten Sie, bis das Tool chkdsk erfolgreich ausgeführt wird.

PHP-Hinweis: Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen – Lösung PHP-Hinweis: Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen – Lösung Aug 17, 2023 am 09:27 AM

PHPNotice: Tryingtogetpropertyofnon-object-Solution Während des PHP-Entwicklungsprozesses kann es zu einer häufigen Fehlermeldung kommen: Tryingtogetpropertyofnon-object (versucht, Eigenschaften von Nicht-Objekten abzurufen). Dieser Fehler wird normalerweise verursacht, wenn wir versuchen, auf eine Eigenschaft einer Variablen zuzugreifen (oder eine Methode aufzurufen), die kein Objekttyp ist. Dieser Artikel stellt Ihnen dies vor

Lösung für PHP-Hinweis: Undefinierte Eigenschaft: Lösung für PHP-Hinweis: Undefinierte Eigenschaft: Jun 22, 2023 pm 02:48 PM

Beim Schreiben von Code in PHP kann es zu der Fehlermeldung „Hinweis: Undefinierte Eigenschaft“ kommen. Dieser Fehler bedeutet, dass wir auf eine undefinierte Eigenschaft zugreifen, normalerweise weil die Eigenschaft im Code nicht initialisiert wurde. Wie kann man dieses Problem lösen? Hier sind einige mögliche Lösungen: Eigenschaften initialisieren Dies ist der einfachste Weg, dieses Problem zu lösen. Durch die explizite Initialisierung einer Eigenschaft im Code wird sichergestellt, dass sie vor der Verwendung definiert wird. Zum Beispiel: Klasse

Laravel-Entwicklung: Wie kann ich mit Laravel Response eine Antwort zurückgeben? Laravel-Entwicklung: Wie kann ich mit Laravel Response eine Antwort zurückgeben? Jun 14, 2023 am 10:39 AM

Laravel ist ein beliebtes PHP-Webentwicklungs-Framework, das viele nützliche Funktionen und Komponenten bietet, einschließlich der Antwortrückgabe. Die Antwortrückgabe ist ein sehr wichtiges Konzept in Laravel, da es steuert, wie die Webanwendung dem Client Informationen bereitstellt. In diesem Artikel werden wir die verschiedenen Arten der Rückgabe von Laravel-Antworten und die Verwendung von LaravelResponse zur Rückgabe von Antworten detailliert beschreiben. Um eine Zeichenfolge in Laravel zurückzugeben, können Sie das Response-Objekt verwenden

PHP ermittelt, ob ein angegebener Schlüssel in einem Array vorhanden ist PHP ermittelt, ob ein angegebener Schlüssel in einem Array vorhanden ist Mar 21, 2024 pm 09:21 PM

In diesem Artikel wird ausführlich erläutert, wie PHP ermittelt, ob ein bestimmter Schlüssel in einem Array vorhanden ist. Der Herausgeber hält dies für sehr praktisch, daher teile ich es Ihnen als Referenz mit und hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. PHP ermittelt, ob ein angegebener Schlüssel in einem Array vorhanden ist: In PHP gibt es viele Möglichkeiten, festzustellen, ob ein angegebener Schlüssel in einem Array vorhanden ist: 1. Verwenden Sie die Funktion isset(): isset($array["key"]) Diese Funktion gibt einen booleschen Wert zurück, true, wenn der angegebene Schlüssel vorhanden ist, andernfalls false. 2. Verwenden Sie die Funktion array_key_exists(): array_key_exists("key",$arr

TypeError: Die Eigenschaft „XXX' von null in Vue kann nicht gelesen werden. Was soll ich tun? TypeError: Die Eigenschaft „XXX' von null in Vue kann nicht gelesen werden. Was soll ich tun? Nov 25, 2023 pm 01:21 PM

Vue ist ein beliebtes JavaScript-Framework zum Erstellen von Benutzeroberflächen. Während des Entwicklungsprozesses können verschiedene Fehler und Ausnahmen auftreten. Einer der häufigsten Fehler ist „TypeError:Cannotreadproperty'XXX'ofnull“. In diesem Artikel untersuchen wir die Ursachen dieses Fehlers und wie man ihn beheben kann. Lassen Sie uns zunächst den Grund für diesen Fehler verstehen. Wenn wir versuchen, auf eine Eigenschaft oder Methode eines Objekts zuzugreifen, wenn das Paar

TypeError: Die Eigenschaft „XXX' von undefiniert in Vue kann nicht gelesen werden. Was soll ich tun? TypeError: Die Eigenschaft „XXX' von undefiniert in Vue kann nicht gelesen werden. Was soll ich tun? Nov 25, 2023 am 10:56 AM

TypeError:Cannotreadproperty'XXX'ofundefined in Vue, was soll ich tun? Bei Front-End-Entwicklern, die Vue zum Entwickeln verwenden, kann es während des Entwicklungsprozesses häufig zu TypeError:Cannotreadproperty'XXX'ofundefinierten Fehlern kommen. Dieser Fehler tritt normalerweise auf, wenn versucht wird, auf eine undefinierte Eigenschaft zuzugreifen. existieren

TypeError: Die Eigenschaft „$XXX' von undefiniert in Vue kann nicht gelesen werden. Welche Lösungen gibt es? TypeError: Die Eigenschaft „$XXX' von undefiniert in Vue kann nicht gelesen werden. Welche Lösungen gibt es? Nov 25, 2023 am 10:00 AM

TypeError:Cannotreadproperty'$XXX'ofundefined in Vue, welche Lösungen gibt es? Bei der Vue-Entwicklung treten häufig Fehler wie TypeError:Cannotreadproperty'$XXX'ofundefined auf. Dieser Fehler wird normalerweise durch die Verwendung undefinierter Eigenschaften oder Methoden in der Vue-Instanz verursacht. Wenn dieser Fehler auftritt, müssen wir dies tun

See all articles