A. php 里面在函数外面声明 global 起到什么作用在看wordpress源码的时候看到的
你好,global是个变量标识符,它后面可以声明若干个变量为全局变量,结合你的上述截图,那几个作为全局变量的版本号已经在别处定义了,想在此使用。
全局变量与局部变量相对应,局部变量仅在某一节代码中有效,建议你查看下php的官方文档(有简体中文版)或者w3school等比较权威的文档,那里的说法更科学。
祝愉快!
B. PHP中全局变量global和$GLOBALS的区别分析
1、global
Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。
但是在函数体内定义的global变量,函数体内可以使用,在函数体外定义的global变量不能在函数体内使用
2、$GLOBALS
在 $GLOBALS 数组中,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为
$GLOBALS 是一个超全局变量。注意$GLOBALS 的写法,比如变量$a1,写法为$GLOBALS['a1']。
总结:
1.$GLOBALS['var']是外部的全局变量本身
2.global $var是外部$var的同名引用或者指针
C. 请教php global的用法
<?
$var = 100;
function fun1(){
echo($var);
}
function fun2(){
global $var;
echo($var);
}
?>
你尝试分别调用fun1和fun2就知道了,fun1中因为没有使用global,所以无法使用在外部定义的$var的值,所以输出地是一个空值,而fun2声明了global,即把$var视为一个全局变量来调用,那么fun2中就可以获得$var的值,那么输出的是“100”
至于你给的第一段代码,这个是无效的,global只在函数或者类方法内部可用,在外部使用则不会有任何效果,PHP依然把它当做一个普通变量来使用。
还有一种进阶的用法:
<?php
function fun(){
global $var;
$var = 100;
}
fun();
echo($var);
?>
将会输出100,这里,$var只在fun中使用,但是因为使用了global定义为了全局变量,因此在函数外部也可以使用,灵活使用一下,其实还有更多用法。不过全局变量还是尽可能少用,会让你的代码混乱不堪的
D. PHP中global 什么是什么功能
在php中,如果在函数中使用全局变量,php会认为这个变量没有定义。如果我们需要在函数内部使用这个全局变量,这时我们就需要在函数内部,这个全局变量前加关键字global。
<?php
$str="string";
functiontest()
{
if(isset($str))
{
echo"thestringisdefined";
}
else
{
echo"thestringisundefined";
}
}
test();
?>
这是在浏览器中的运行结果:
thisstringisundefined
<?php
$str="string";
functiontest()
{
global$str;//上面的test函数中没有这句话
if(isset($str))
{
echo"thestringisdefined";
}
else
{
echo"thestringisundefined";
}
}
test();
?>
浏览器中的运行结果:
this string is defined
E. 关于php函数里声明了global却没使用,那它的作用是啥
首先你这个函数中出现global就是多余的,$_SERVER本来就是全局函数了
global的作用?
这个是与变量的影响作用范围有关
假设一个页面
创建一个A变量,这个变量可以作用在整个页面的,但是如果这个页面有函数且函数需要用这个变量,就需要在函数内将A声明为全局变量才可使用
$a = 'xxx';
//正确写法
function test(){
global $a;
echo $a;
}
F. php关键字GLOBAL在函数外使用起什么作用
在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用。