Maison développement back-end tutoriel 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));
Copier après la connexion

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

写道
1
0

?

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

raw_body
Copier après la connexion

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

public function __get($property)	{		echo 123;		if (property_exists($this, $property)) {			return $this->$property;		}	}
Copier après la connexion

?

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

写道
1

123

0

?

也就是说

(int)empty($response->raw_body)
Copier après la connexion

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

?

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

?

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que dois-je faire si chkdsk ne peut pas être utilisé par le disque brut ? Que dois-je faire si chkdsk ne peut pas être utilisé par le disque brut ? Mar 06, 2023 pm 03:27 PM

Solution au problème selon lequel chkdsk ne peut pas être utilisé par le lecteur brut : 1. Cliquez avec le bouton droit sur l'icône Win dans la barre des tâches inférieure et cliquez sur l'option « Exécuter » dans la barre de menu contextuelle. 2. Entrez « chkdsk /? » dans la fenêtre de ligne de commande, puis cliquez sur la touche Entrée pour confirmer ;3. Attendez que l'outil chkdsk s'exécute avec succès.

Avis PHP : Essayer d'obtenir la propriété d'un non-objet - Solution Avis PHP : Essayer d'obtenir la propriété d'un non-objet - Solution Aug 17, 2023 am 09:27 AM

Avis PHP : Tryingtogetpropertyofnon-object-Solution Au cours du processus de développement PHP, nous pouvons rencontrer un message d'erreur courant : Tryingtogetpropertyofnon-object (tentative d'obtenir la propriété d'un non-objet). Cette erreur se produit généralement lorsque nous essayons d'accéder à une propriété (ou d'appeler une méthode) sur une variable qui n'est pas un type d'objet. Cet article va vous présenter ceci

Développement Laravel : Comment renvoyer une réponse en utilisant Laravel Response ? Développement Laravel : Comment renvoyer une réponse en utilisant Laravel Response ? Jun 14, 2023 am 10:39 AM

Laravel est un framework de développement Web PHP populaire qui fournit de nombreuses fonctionnalités et composants utiles, notamment le retour de réponse. Le retour de réponse est un concept très important dans Laravel car il contrôle la manière dont l'application Web fournit des informations au client. Dans cet article, nous détaillerons les différentes manières dont les réponses Laravel sont renvoyées et comment utiliser LaravelResponse pour renvoyer des réponses. Pour renvoyer une chaîne dans Laravel, vous pouvez utiliser l'objet Response

Solution à l'avis PHP : propriété non définie : Solution à l'avis PHP : propriété non définie : Jun 22, 2023 pm 02:48 PM

Lors de l'écriture de code en PHP, nous pouvons rencontrer le message d'erreur « Avis : Propriété non définie ». Cette erreur signifie que nous accédons à une propriété non définie, généralement parce que la propriété n'a pas été initialisée dans le code. Alors, comment résoudre ce problème ? Voici quelques solutions possibles : Initialiser les propriétés C'est la manière la plus simple de résoudre ce problème. L'initialisation explicite d'une propriété dans le code garantit qu'elle est définie avant utilisation. Par exemple : classe

PHP détermine si une clé spécifiée existe dans un tableau PHP détermine si une clé spécifiée existe dans un tableau Mar 21, 2024 pm 09:21 PM

Cet article expliquera en détail comment PHP détermine si une clé spécifiée existe dans un tableau. L'éditeur pense que c'est très pratique, je le partage donc avec vous comme référence. J'espère que vous pourrez gagner quelque chose après avoir lu cet article. PHP détermine si une clé spécifiée existe dans un tableau : En PHP, il existe de nombreuses façons de déterminer si une clé spécifiée existe dans un tableau : 1. Utilisez la fonction isset() : isset($array["key"]) Cette fonction renvoie une valeur booléenne, vraie si la clé spécifiée existe, fausse sinon. 2. Utilisez la fonction array_key_exists() : array_key_exists("key",$arr

TypeError : Impossible de lire la propriété « XXX » de null dans Vue, que dois-je faire ? TypeError : Impossible de lire la propriété « XXX » de null dans Vue, que dois-je faire ? Nov 25, 2023 pm 01:21 PM

Vue est un framework JavaScript populaire pour créer des interfaces utilisateur. Au cours du processus de développement, nous pouvons rencontrer diverses erreurs et exceptions. L’une des erreurs courantes est « TypeError:Cannotreadproperty'XXX'ofnull ». Dans cet article, nous explorerons les causes de cette erreur et comment y remédier. Tout d’abord, comprenons la raison de cette erreur. Lorsque nous essayons d'accéder à une propriété ou à une méthode d'un objet, si la paire

TypeError : Impossible de lire la propriété « XXX » de non définie dans Vue, que dois-je faire ? TypeError : Impossible de lire la propriété « XXX » de non définie dans Vue, que dois-je faire ? Nov 25, 2023 am 10:56 AM

TypeError:Cannotreadproperty'XXX'ofundefined dans Vue, que dois-je faire ? Pour les développeurs front-end qui utilisent Vue pour développer, ils peuvent souvent rencontrer des erreurs TypeError:Cannotreadproperty'XXX'ofundéfini pendant le processus de développement. Cette erreur se produit généralement lorsque vous tentez d'accéder à une propriété non définie. exister

TypeError : Impossible de lire la propriété '$XXX' de non définie dans Vue, quelles sont les solutions ? TypeError : Impossible de lire la propriété '$XXX' de non définie dans Vue, quelles sont les solutions ? Nov 25, 2023 am 10:00 AM

TypeError:Cannotreadproperty'$XXX'ofundefined dans Vue, quelles sont les solutions ? Dans le développement de Vue, des erreurs telles que TypeError:Cannotreadproperty'$XXX'ofundefined sont souvent rencontrées. Cette erreur est généralement causée par l'utilisation de propriétés ou de méthodes non définies dans l'instance Vue. Lorsque cette erreur se produit, nous devons

See all articles