PHP变量命名规则与范围
内置结构、关键词以及用户自定义类名和函数名不区分大小写(如echo while class名称,function名称),而变量名严格区分大小写。
有效变量名以字母和下划线开头,不能以数字开头,中间不能使用空格,用点分开。(可以使用中文)
系统关键词可以在PHP中作为变量名使用(但最好不要)
附:变量范围:如果不是在函数中声明,则一般在一个页面所有开启PHP模式下有效。
比如:
1<?php
2 $int_a = 5;
3 function factorial() {
4 for($int_i=$int_a; $int_i>0; $int_i--) {
5 $int_a = $int_a * $int_i;
6 }
7 }
8 factorial();
9 echo $int_a;
10?>
11
$int_a
的值并不能影响函数内$int_a
的值,所以会出现报错的现象,而函数内$int_a
同样没有作用到全局,所以echo的值是不变的,如果想要输出,可以选择在函数内return
(如果要同时返回多个值,必须使用数组
)。
设置global $int_a
,亦或者使用超全局变量$GLOBAL[]
来在函数内调用全局变量(也就是函数外的变量)
注:超全局变量(数组),$a
相当于key
(key
为a
),而value
就是所赋得值,所以要设置$a
为全局变量只要$GLOBAL['a']
就行了。($_POST
等同理)
这里我们再来看一个例子:
1 $a = "Hello";
2 function print_a() {
3 global $a;
4 $a = "php mysql!!";
5 echo $a;
6 }
7
8 print_a();
9 echo $a;
10
输出是php mysql!!php mysql!!
,换句话说,引入全局变量之后function
内变量的改变随时会影响全局变量的值。
评论 (0)