PHP变量的声明
天下维客,你可以修改的网络知识库
| PHP变量简明教程 | PHP变量的作用范围 | PHP变量的声明 | PHP的预定义变量 | PHP变量函数 | PHP的外部变量 |
| PHP的可变变量 |
- PHP的变量没有声明声明过程,在程序中直接使用“var $my_var;”将导致错误;
- PHP中,类成员可以声明。参见PHP的类成员变量声明
目录 |
[编辑]
变量初始化
虽然在 PHP 中并不需要初始化变量,但进行初始化是个好习惯。
由于不存在声明语句,所以变量初始化过程应该直接赋值,例如:
$str_demo="";
[编辑]
未初始化变量的默认值
未初始化的变量被使用时,具有其类型的默认值:FALSE,零,空字符串或者空数组。
举例如下:
<?php echo ($unset_bool? "true": "false"); // false $unset_int += 25; // 0 + 25 => 25 echo $unset_string . "abc"; // "" . "abc" => "abc" $unset_array[3] = "def"; // array() + array(3 => "def") => array(3 => "def") ?>
[编辑]
未初始化变量可能带来的问题
依赖未初始化变量的默认值在某些情况下会有问题,例如:
- 直接使用未定义变量可能会报错,比如这样的程序
<?php if($command!= "kkk") echo "not kkk"?>
可能会出现错误提示
<b>Notice:</b> Undefined variable: command in <b>X:\wamp\www\xxx.php</b> on line 1
以上程序的错误信息属于E_NOTICE级别,是否显示出来与php.ini中的错误级别设置有关。如果不想让这个警告出现,则可以在php.ini中进行改动,设 error_reporting = E_ALL & ~E_NOTICE 。
- 注:E_NOTICE 级别的错误会在碰上未初始化的变量时发出,但是在向一个未初始化的数组附加单元时不会。
- 把一个文件包含到另一个之中时碰上相同的变量名可能。
- 另外把 register_globals 打开是一个主要的安全隐患。
[编辑]
变量是否初始化的检测
但在使用传如的变量时最好先检查一下变量是否存在,这时可使用isset()函数。


