php变量
php变量规则
变量以$符号开始,后面跟着变量的名称
变量名必须以字母或者下划线字符开始,只能包含字母、数字以及下划线(A-z、0-9和_)
变量名对大小写敏感
php没有声明变量的命令,变量在第一次赋值的时候被创建
比如:
<?php $txt="Hello world!"; ?>
php是一门弱类型语言,创建变量时不必声明数据类型。在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称
php变量作用域
1、local(局部作用域)
在函数内部声明的变量是局部变量,只能在函数内部访问
2、global(全局作用域)
在所有函数外部定义的变量,拥有全局作用域
比如:
<?php $x=5; // 全局变量 function myfunc() { $y=10; // 局部变量 echo "测试函数内变量:
"; echo "变量 x 为: $x"; echo "
"; echo "变量 y 为: $y"; } myfunc(); echo "测试函数外变量:
"; echo "变量 x 为: $x"; echo "
"; echo "变量 y 为: $y"; ?>
结果为:
测试函数内变量: 变量 x 为: 变量 y 为: 10 测试函数外变量: 变量 x 为: 5 变量 y 为:
如果要在函数中访问全局变量,要使用global关键字
比如:
<?php $x=1; $y=2; function myTest() { global $x,$y; $y=$x+$y; } myTest(); echo $y; // 输出3 ?>
php把全局变量存储在一个名为$GLOBAL[]的数组中。这个数组可以在函数内部访问,也可以直接用来更新全局变量
比如:
<?php $x=1; $y=2; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); echo $y; ?>
3、static作用域
当一个函数完成时,它的所有变量通常都会被删除。如果希望某个局部变量不要被删除,可以使用static关键字
比如:
<?php function myTest() { static $x=0; echo $x; $x++; echo PHP_EOL; // 换行符 } myTest(); myTest(); myTest(); ?>
结果为:
0 1 2
4、parameter(参数作用域)
参数是通过调用代码将值传递给函数的局部变量,它是在参数列表中声明的,作为函数声明的一部分
比如:
<?php function myTest($x) { echo $x; } myTest(1); ?>