PHP变量标识符的一些守则
PHP变量标识符的一些规则
PHP变量标识符提供了非常特别的方便。但是,相当多的从事多年的PHP程序员却无法清楚它的具体用法,从而出错时,不知哪里错了。所以,现在总结一下。便于大家快速掌握。
PHP变量的运行机制是,将变量标识符$后的字符串,或表达式运算结果的字符串作为变量名,去变量池获取变量值。
可见,PHP相当于提供了一个变量的“名称指针”。它不同于C++的地址指针,因为,不会有空地址的不安全性。也不会有变量内存溢出的问题。所有这些PHP都给我们完成了。
变量标识符:
$:以后面的字符串为变量名,取同名变量。
?? $a='Hello';
?? $$a = 'world';
{}将其中的表达式解析成字串,并取此字串的变量,{}不能单独在表达式外部存在,否则就会当成流程控制而报错。这就是说, {}前必有$,或者外面必有引号。
echo $a, ${$a}; echo $a, $$a;
二者的区别: $总是寻找后面的第一个字串, {}是将内部的表达式解析为字串。PHP正是用这一方式实现了变量的“名称指针”。
${}:由{}返回字串交给$再处理。用途:对于表达式结果取变量。
?如:${$array[$i][$j]} , 如果使用 $$array[$i][$j]} 则PHP会找 $$array这个变量。而不是找$array[$i][$j]为结果的变量名的变量。
{}在函数中与表达式中
猜猜看:下面程序返回什么:
$a='Hello'; $$a = 'world'; echo '1 ', $a, '{$a}', '</br>'; echo '2 ', $a, "{$a}", '</br>'; echo '3 ', $a, "{{$a}}", '</br>'; echo '4 ', $a, "${$a}", '</br>'; echo '5 ', $a, ${$a}, '</br>'; echo '6 ', $a, "{${$a}}", '</br>'; echo '7 ', $a, "{{${$a}}}", '</br>'; echo '8 ', $a, "$$a", '</br>'; echo '9 ', $a, "{a}", '</br>'; echo '10 ', $a, "${a}", '</br>';
?
结果:
?? echo '1 ', $a, '{$a}', '';
输出是:1 Hello{$a}?
//正常情况下,单引号是非执行字串,按原结果返回。但是:Smarty同样会将其进行解析!!所以, Smarty模板中, ‘{$a}’这样的表达式,仍可能出现的是你不想要的结果!!
假如:str_replace('{$foo} ',$foo, '{$foo}.some');
因为上面的原因:需要改为:
? str_replace(array('{', '$foo',} '),array('',$foo, ''), '{$foo}.some');
?? echo '2 ', $a, "{$a}", '';
输出是: 2 HelloHello
双引号中,无论是否有{},变量总会被解析。
?? echo '3 ', $a, "{{$a}}", '';??
输出是: 3 Hello{Hello}?
//所以,如果要输出带{}的结果,则需要加两层。
?? echo '4 ', $a, "${$a}", '';?
输出是: 4 Helloworld
?? echo '5 ', $a, ${$a}, '';
输出是: 4 Helloworld
// ${$表达式},无论外面是否带双引号,结果都是一样的?
?? echo '6 ', $a, "{${$a}}", '';?
输出是: 6 Helloworld
?? echo '7 ', $a, "{{${$a}}}", '';
输出是: 7 Hello{world}
//要输出带{}的结果,必须多加一层。
echo '8 ', $a, "$$a", '';
输出是: 8 Hello$Hello
//双引号中的$只执行一次。所以,结果就不是你所要的。
附注:{}还可用于数组,即对数组下标访问。即
$array[$i][$j] 与 $array{$i}{$j}是等价的。但正常,由于PHP文档中给出是的[]。而字符串是字节数组,所以,我们只有在用字节数组模式访问字符串时,才使用{}
$a='ux:Cache'; $a{2}=''; echo $a; 这个结果是什么,你知道吗?
echo '9 ', $a, "{a}", '';
输出是:9 Hello{a}
?? echo '10 ', $a, "${a}", '';
输出是:10 HelloHello可以见到, {}外有$, {}也会将结果送给$解析。
总结:
双引号中的$只会解析一次。不会进行多重解析。echo “$$a”,则要改为 echo “${$a}”;
{}遇$成为{$foo}就会被解析。要输出带{}的结果,则要{{$foo}}
$是向后寻找字符串,所以,数组或表达式的结果: 不能
$$array[$i][$j] 而是要 ${$array[$i][$j]}

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

À l'ère actuelle de développement technologique rapide, les langages de programmation poussent comme des champignons après la pluie. L'un des langages qui a beaucoup retenu l'attention est le langage Go, apprécié par de nombreux développeurs pour sa simplicité, son efficacité, sa sécurité de concurrence et d'autres fonctionnalités. Le langage Go est connu pour son écosystème solide avec de nombreux excellents projets open source. Cet article présentera cinq projets open source sélectionnés en langage Go et amènera les lecteurs à explorer le monde des projets open source en langage Go. KubernetesKubernetes est un moteur d'orchestration de conteneurs open source pour l'automatisation

Titre : Exemple d'utilisation de la fonction Array.Sort pour trier un tableau en C# Texte : En C#, un tableau est une structure de données couramment utilisée, et il est souvent nécessaire de trier le tableau. C# fournit la classe Array, qui possède la méthode Sort pour trier facilement les tableaux. Cet article explique comment utiliser la fonction Array.Sort en C# pour trier un tableau et fournit des exemples de code spécifiques. Tout d’abord, nous devons comprendre l’utilisation de base de la fonction Array.Sort. Tableau.Donc

"Go Language Development Essentials : 5 recommandations de framework populaires" En tant que langage de programmation rapide et efficace, le langage Go est favorisé par de plus en plus de développeurs. Afin d'améliorer l'efficacité du développement et d'optimiser la structure du code, de nombreux développeurs choisissent d'utiliser des frameworks pour créer rapidement des applications. Dans le monde du langage Go, il existe de nombreux excellents frameworks parmi lesquels choisir. Cet article présentera 5 frameworks de langage Go populaires et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et utiliser ces frameworks. 1.GinGin est un framework Web léger avec une rapidité

Laravel est un framework PHP populaire, hautement évolutif et efficace. Il fournit de nombreux outils et bibliothèques puissants qui permettent aux développeurs de créer rapidement des applications Web de haute qualité. Parmi eux, LaravelEcho et Pusher sont deux outils très importants grâce auxquels la communication WebSockets peut être facilement implémentée. Cet article détaillera comment utiliser ces deux outils dans les applications Laravel. Que sont les WebSockets ? WebSockets

Explication détaillée du rôle et de l'utilisation du mot-clé echo en PHP PHP est un langage de script côté serveur largement utilisé dans le développement Web. Le mot-clé echo est une méthode utilisée pour générer du contenu en PHP. Cet article présentera en détail la fonction et l'utilisation du mot-clé echo. Fonction : La fonction principale du mot-clé echo est de transmettre du contenu au navigateur. Dans le développement Web, nous devons présenter dynamiquement les données sur la page frontale. À ce stade, nous pouvons utiliser le mot-clé echo pour afficher les données sur la page. e

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Avec le développement d'Internet et les progrès des technologies de l'information, l'ère du Big Data est arrivée, et des domaines tels que l'analyse des données et l'apprentissage automatique ont également été largement utilisés. Dans ces domaines, la planification des tâches est un problème inévitable. Comment parvenir à une planification efficace des tâches est crucial pour améliorer l’efficacité. Dans cet article, nous présenterons comment utiliser le framework Web Echo de Golang pour implémenter la planification distribuée des tâches. 1. Introduction au framework Echo Echo est un framework GoWeb hautes performances, évolutif et léger. Il est basé sur HTTP

Les frameworks Go les plus populaires actuellement sont : Gin : framework web léger et performant, simple et facile à utiliser. Echo : un framework Web rapide et hautement personnalisable qui fournit un routage et un middleware hautes performances. GorillaMux : Un multiplexeur rapide et flexible qui offre des options de configuration de routage avancées. Fibre : un framework Web hautes performances optimisé pour les performances qui gère un nombre élevé de requêtes simultanées. Martini : un framework Web modulaire avec une conception orientée objet qui fournit un riche ensemble de fonctionnalités.
