1.4 - 第一章:PHP基础 - 变量

变量是临时的存储容器。在PHP中,一个变量可以存放任何类型的数据,比如字符型、整形、浮点型、对象和数组。PHP对于变量的数据类型是松散型的,这就意味着变量中的数据类型会在需要时自动转换成其他类型,使程序正常运行下去。相对于一些强类型语言,比如C和JAVA,变量只能存放其事先定义好的数据。

当看到$符号开头的便是PHP的变量,其符号后面跟随变量的名称。变量名称必须由字母、数字和下划线组成,不能以数字开头,且区分大小写(这点会在后续章节中介绍)。例如:

$name = 'valid'; // 正确的写法 $_name = 'valid'; // 正确的写法 $1name = 'invalid' // 错误的写法, 以数字开头

作者提示:变量也可以被穿插使用——即你可以把变量插入到字符型变量中。这个会在字符串章节详细介绍。

1.4.1 可变变量

PHP中,可以创建“可变变量”。相当于一个变量的值就是另一个变量的名称。比如:

$name = 'foo'; $$name = 'bar'; echo $foo; // 显示 'bar'

如你所见,这个例子中我们先创建了一个变量$name赋值foo,然后再使用$$name的写法定义了$foo变量并赋值bar。结果就是现在这样。

可变变量最大的优势就是可以动态创建变量,同时允许在大括号中定义:

$name = '123'; /* 123 是变量名称,这个变量在随后会被抛弃 */ $$name = '456'; // 重新申明了一个变量 echo ${'123'}; // 因为$123这样的表达违反了PHP变量定义规则中以数字开头的规则,所以要想输出这里的456就只能这样来写 // Siemen注:看来一定要以数字开头的变量确实可以用这种方法来绕开,因为${'123'}的表达可以打印出456说明$123变量确实已经存在。

作者提示:可变变量是一个威力巨大的工具,使用起来务必异常小心,不仅仅是因为这样的写法使得代码难以阅读与生成文档,而且使用不当会造成一些重大的安全隐患。

可变变量的思路也可以应用到方法调用上:

function myFunc() { echo 'myFunc!'; } $f = 'myFunc'; $f(); // 等同于myFunc();

请记住,要小心使用这项技巧,一旦出现问题会引起严重后果。

1.4.2 检查变量是否存在

有些变量你无法确定是否存在或者被赋值。这里存在一系列的问题——使用了不存在的变量会输出警告,如果没有在设置好有关错误报告的选项,那么警告信息可能会带来安全问题。解决这个问题,你可以使用isset()这个特殊据语法结构:

echo isset($x);

调用isset(),返回true表示变量存在且已经被赋值,返回false表示变量没有申明过,或者还没有赋值即NULL。

 

修正:

2010年04月06日 —— Siemen

1. 所有代码部分使用csdn代码重新插入

你可能感兴趣的:(1.4 - 第一章:PHP基础 - 变量)