PHP的变量名称必须由一个美元符号加上其它的字符组成,并区变量名称是区分大小写的。变量名必须遵循PHP的命名规则,PHP的变量名必须以字母或下划线或中文字符开始,变量不用声明就可以使用。在程序中请不要用全局变量做为你程序中的变量来使用。
1)、变量以传值方式进行赋值:
<?php
$Var="我";
$var=$Var;
$Var=123;
echo "\$Var=" .$Var." \$var=".$var;
2)、变量以传递变量(引用)方式进行赋值(引用只能针对变量):&
<?php
$Var="我";
$var=& $Var;
$Var=123;
echo "\$Var=" .$Var." \$var=".$var;
?>
<?php
$foo=’Bob’;
$bar=&$foo;
$bar=”My name is $bar”;
echo $foo;
echo $bar;
?>
<?php
$foo=25;
$bar=&$foo;
$bar=&(24 * 7); //错误
function test()
{
return 25;
}
$bar=&test(); //错误
?>
3)、检查变量是否设置的函数isset:
格式:isset(变量)
功能:如果变量已经设置,则返回true,否则返回false
<?php
$Var="我";
echo isset($Var);
echo isset($var);
?>
4)、销毁变量的函数unset:
格式:unset(变量1,变量2,…变量n)
功能:用户销毁即删除已经赋值的变量
<?php
$Var="我";
unset($Var);
$var=123;
echo "\$Var=" .$Var." \$var=".$var;
?>
5)、检查变量是否为空的函数empty:
格式:empty(变量)
功能:若变量值为空值、零值或假值(0,”0”,NULL,false,””),返回true,否则返回false
<?php
$var=0;
if (empty($var)) {
echo ‘$var值为空';
}
?>
- 变量的作用范围
1、PHP脚本中声明一个变量,则该变量可以应用于整个文件(包括require或include所包含的文件中),但函数内部除外。
例:test.php:
<?php
$a=12;
include(“b.php”);
?>
b.php:
<?php
echo “\$a=” . $a;
?>
2、反之被包含文件中声明的变量,可以应用于包含文件中。
例:test.php:
<?php
include(“b.php”);
echo “\$b=” . $b;
?>
b.php:
<?php
$b=56;
?>
3、在函数中声明的变量一般在函数结束后就会消失,不能在函数外部使用;在函数外声明的变量一般不能在函数内使用。
例:test.php:
<?php
$a=1; //全局范围页面级变量
function Test()
{
$b=12;
echo “\$a=” . $a;
}
echo “\$b=” . $b;
?>
4、特殊情况:通过global声明变量为全局变量,使函数外声明的变量可以在函数内使用。
例:test.php:
<?php
$a=1; //全局范围页面级变量
function Test()
{
$a=5;
echo “<br>使用global之前\$a是函数内局部变量,其值为\$a=” . $a;
global $a;
echo “<br>使用global之后\$a已经是函数外全局变量,其值为\$a=” . $a;
$a=12;
echo “<br>使用global并修改\$a的值之后,其值为\$a=” . $a;
}
Test();
echo “<br>函数调用结束后\$a全局变量的值已经被函数修改,其值为\$a=” . $a;
?>
5、特殊情况:通过$GLOBALS[“全局变量名”]在函数内部使用全局变量。
例:test.php:
<?php
$a=1; //全局范围页面级变量
function Test()
{
$a=5;
echo "<br>\$a是函数内局部变量,其值为\$a=" . $a;
echo "<br>\$GLOBALS[\"a\"]是函数外全局变量\$a,其值为\$GLOBALS[\"a\"]=" . $GLOBALS["a"];
$GLOBALS["a"]=12;
echo "<br>修改\$GLOBALS[\"a\"]的值之后,其值为\$GLOBALS[\"a\"]=" . $GLOBALS["a"];
}
Test();
echo "<br>函数调用结束后\$a全局变量的值已经被函数修改,其值为\$a=" . $a;
?>