很多站长朋友们都不太清楚php变量作用域if,今天小编就来给大家整理php变量作用域if,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php里面如何跨文件访问变量? 2、 PHP语言中变量的作用域有哪些不同范围? 3、 php IF函数的用法 4、 PHP if函数里直接写一个变量是什么意思 5、 php函数的变量和作用域 php里面如何跨文件访问变量?PHP变量是有作用域(指定的有效范围)的:
函数内声明的变量只对该函数有效,出了函数的范围就会无效;
同理在函数以外声明的变量在函数中访问也是无效的;
函数内的变量跨函数访问也是无效的。
解决方法:
函数中的变量要想让其全局有效必须得在变量前面加global关键字声明成全局变量才可以在函数以外访问到;同理在函数外声明的函数如果想要在函数中来访问,也要使用global关键字来声明为全局变量。
关于php变量作用域的示范:
举例有php文件b.php如下:
<?php
function func1(){
global $a2;
$a1 = 'var a1 In file b function func1';
$a2 = 'var a2 In file b function func1';
}
?>
然后有php文件a.php如下:
<?php
error_reporting(0); //关闭错误报告
include('b.php'); //引用b.php
$a3 = 'var a3 In file a out of function';
$a4 = 'var a4 In file a out of function';
function func2(){
global $a5;
$a5 = 'var a5 In file a function func2';
$a6 = 'var a6 In file a function func2';
}
function func3(){
echo 'print var $a1 to $a6 in function func3:';
var_dump($a1);
var_dump($a2);
var_dump($a3);
var_dump($a4);
var_dump($a5);
var_dump($a6);
}
function func4(){
echo 'print var $a1 to $a6 in function func4:';
global $a1;
global $a2;
global $a3;
global $a4;
global $a5;
global $a6;
var_dump($a1);
var_dump($a2);
var_dump($a3);
var_dump($a4);
var_dump($a5);
var_dump($a6);
}
echo 'print var $a1 $a2 $a5 $a6 in file a:';
var_dump($a1);
var_dump($a2);
var_dump($a5);
var_dump($a6);
func3();
func4();
func1();
func2();
echo 'print var $a1 $a2 $a5 $a6 in file a(after call func1 and func2):';
var_dump($a1);
var_dump($a2);
var_dump($a5);
var_dump($a6);
func3();
func4();
?>
执行a.php后就会输出:
print var $a1 $a2 $a5 $a6 in file a: <!--$a1 $a2 $a5 $a6都被声明在函数中,此时因为函数未被调用,所以都无法正确取值-->
null
null
null
null
print var $a1 to $a6 in function func3: <!--$a1 $a2 $a5 $a6同上,$a3和$a4因为在函数外声明所以全部无法正确取值-->
null
null
null
null
null
null
print var $a1 to $a6 in function func4: <!--$a1 $a2 $a3 $a4同上,$a3和$a4用global声明为全局了,所以可以正确取值-->
null
null
string 'var a3 In file a out of function' (length=32)
string 'var a4 In file a out of function' (length=32)
null
null
print var $a1 $a2 $a5 $a6 in file a(after call func1 and func2): <!--在执行func1和func2之后被关键字声明为全局变量的$a2和$a5可以被正确取值-->
null
string 'var a2 In file b function func1' (length=31)
string 'var a5 In file a function func2' (length=31)
null
print var $a1 to $a6 in function func3: <!--因为所有变量不是声明在函数func3外就是被声明在其他函数中,所以都无法正确取值-->
null
null
null
null
null
null
print var $a1 to $a6 in function func4: <!--除了在其它函数内未被声明为全局的$a1和$a6,其他变量均被正确取值-->
null
string 'var a2 In file b function func1' (length=31)
string 'var a3 In file a out of function' (length=32)
string 'var a4 In file a out of function' (length=32)
string 'var a5 In file a function func2' (length=31)
null
上面的代码可以让你很好的理解变量作用域的规则。
PHP语言中变量的作用域有哪些不同范围?变量的作用域就是它的有效范围。对于大多数PHP的变量只有一个作用域。在用户自定义函数里采用局部变量作用域。所有的函数内使用的变量被设置为局部变量。
php IF函数的用法php IF函数的用法:
if 语句用于在指定条件为 true 时执行代码。
语法:
if (条件) {
当条件为 true 时执行的代码;
}
比如:输出 "Have a good day!",如果当前时间 (HOUR) 小于 20:
<?php
$t=date("H");
if ($t<"20") {
echo "Have a good day!";
}
?>
PHP if函数里直接写一个变量是什么意思if语句用来判断所包含值的布尔值,既true和false两值,通过判断变量的布尔值来决定if语句的操作。
在if语句里变量可以直接被分析布尔值也就是当前转换的意思。
当转换为 boolean 时,以下值被认为是 FALSE:
布尔值 FALSE
整型值 0(零)
浮点型值 0.0(零)
空白字符串和字符串 "0"
没有成员变量的数组
没有单元的对象(仅适用于 PHP 4)
特殊类型 NULL(包括尚未设定的变量)
如果变量是这些值在if里就是false,其他的一般为true
php函数的变量和作用域<?php
$global_a="global"; //这是一个全局变量。
function private_test(){
$private_a="private"; //这是一个局部变量,其有效范围就是这个函数内部。
echo $private_a;
}
echo $private_a; //函数外部就不能再调用其局部变量了。
关于php变量作用域if的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php变量作用域if php变量按其作用域可以分为哪几种?的详细内容...