CodeSky 代码之空

随手记录自己的学习过程

PHP变量命名规则与范围

2014-01-24 11:26分类: PHP评论: 0

内置结构、关键词以及用户自定义类名和函数名不区分大小写(如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相当于keykeya),而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)