PHP中global全局变量的作用范围_PHP教程
最近在开发一个Discuz!插件,今天遇到一个问题,我在后台的一个函数中调用插件的变量数据时返回空值,测试几次无果后突然想起应该是没有加载缓存导致的,于是加入了loadcache(\'plugin\')加载插件缓存。可是问题依旧。
分析一下问题,需要调用到到数据的是一个函数(暂且称为函数A),已经执行了global $_G;以调用全局变量,而且通过print_r输出$_G也证实$_G中是有数据的,缺失的是插件缓存。而函数A在前台也要调用,因为前台套了plugin.php的外壳,已经加载插件缓存,不需要执行loadcache('plugin'),因此在函数中执行loadcache('plugin')操作对执行效率有影响。
再次分析问题,后台调用函数A的代码则在另一个函数中(暂且称为函数B),突然在想,会不会要在这个函数里执行一次global $_G;好让后台加载的变量内容由函数B传递给函数A?
抱着试一试的态度,我在函数B中也添加了global $_G;,结果成功了!
这引申出了一个global作用域的作用范围的问题。在我这次调试中,函数A因为由函数B调用,因此后台中调用的loadcache('plugin');所生成的新$_G只在后台部分有效,而函数B中由于没有使用global $_G,因此并未获取到最新的$_G。而函数A的文件引用(require)我写在了函数B中,函数A成了函数B的一个子集,后台代码中运行过loadcache的全局变量对函数A无效,函数A中的global取得的$_G值绕开了我所写的loadcache。因此需要在函数B中运行一次global获得最新的$_G值才能在函数A中生效。
下面是一个使用“global”关键字的演示例子:
代码如下 | 复制代码 |
$my_var = 'Hello World'; test_global(); function test_global() { // Now in local scope // the $my_var variable doesn't exist // Produces error: "Undefined variable: my_var" echo $my_var; // Now let's important the variable global $my_var; // Works: echo $my_var; } ?> |
正如你在上面的例子中看到的一样,“global”关键字是用来导入全局变量的。看起来它工
作的很好,而且很简单,那么为什么我们还要担心使用“global”关键字来定义全局数据呢
我来给处入行的人讲解一下全局变量global的使用,”全局变量“,这个名词中的全局两个
字已经告诉我们这个变量在各个地方都能用,先看一个实例:
代码如下 | 复制代码 |
$a = 1; function Sum() $b = $a + $b; Sum(); |
结果: 3
如果没有全局变量global在方法内是不能获得$a,$b值的,所以在方法里面想用外面的变量就
需要先声明这个变量为全局变量,这样就可以使用了,很方便吧。
代码如下 | 复制代码 |
$w3sky = 1; function Sum() |
以上脚本的输出将是“3”。在函数中申明了全局变量 $w3sky 和 $w3sky2,任何变量的所有
引用变量都会指向到全局变量

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

PHP est originaire en 1994 et a été développé par Rasmuslerdorf. Il a été utilisé à l'origine pour suivre les visiteurs du site Web et a progressivement évolué en un langage de script côté serveur et a été largement utilisé dans le développement Web. Python a été développé par Guidovan Rossum à la fin des années 1980 et a été publié pour la première fois en 1991. Il met l'accent sur la lisibilité et la simplicité du code, et convient à l'informatique scientifique, à l'analyse des données et à d'autres domaines.

PHP convient au développement Web et au prototypage rapide, et Python convient à la science des données et à l'apprentissage automatique. 1.Php est utilisé pour le développement Web dynamique, avec une syntaxe simple et adapté pour un développement rapide. 2. Python a une syntaxe concise, convient à plusieurs champs et a un écosystème de bibliothèque solide.

PHP reste important dans le processus de modernisation car il prend en charge un grand nombre de sites Web et d'applications et d'adapter les besoins de développement via des cadres. 1.Php7 améliore les performances et introduit de nouvelles fonctionnalités. 2. Des cadres modernes tels que Laravel, Symfony et Codeigniter simplifient le développement et améliorent la qualité du code. 3. L'optimisation des performances et les meilleures pratiques améliorent encore l'efficacité de l'application.

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

Le type PHP invite à améliorer la qualité et la lisibilité du code. 1) Conseils de type scalaire: Depuis PHP7.0, les types de données de base sont autorisés à être spécifiés dans les paramètres de fonction, tels que INT, Float, etc. 2) Invite de type de retour: Assurez la cohérence du type de valeur de retour de fonction. 3) Invite de type d'union: Depuis PHP8.0, plusieurs types peuvent être spécifiés dans les paramètres de fonction ou les valeurs de retour. 4) Invite de type nullable: permet d'inclure des valeurs nulles et de gérer les fonctions qui peuvent renvoyer les valeurs nulles.

Dans PHP, utilisez le mot-clé Clone pour créer une copie de l'objet et personnalisez le comportement de clonage via la méthode de magie du clone \ _ \ _. 1. Utilisez le mot-clé Clone pour faire une copie peu profonde, en clonant les propriétés de l'objet mais pas aux propriétés de l'objet. 2. La méthode du clone \ _ \ _ peut copier profondément les objets imbriqués pour éviter les problèmes de copie superficiels. 3. Faites attention pour éviter les références circulaires et les problèmes de performance dans le clonage et optimiser les opérations de clonage pour améliorer l'efficacité.

PHP convient aux systèmes de développement Web et de gestion de contenu, et Python convient aux scripts de science des données, d'apprentissage automatique et d'automatisation. 1.Php fonctionne bien dans la création de sites Web et d'applications rapides et évolutifs et est couramment utilisé dans CMS tel que WordPress. 2. Python a permis de manière remarquable dans les domaines de la science des données et de l'apprentissage automatique, avec des bibliothèques riches telles que Numpy et Tensorflow.


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

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

Version Mac de WebStorm
Outils de développement JavaScript utiles

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

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Dreamweaver Mac
Outils de développement Web visuel