基础
php中的变量用一个美元符号后面跟变量名来表示,变量名是区分大小写的.
变量名与PHP中其他的标签一样遵循相同的规则.一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线.
Note:在此所说的字母是a-Z,A-Z.
Note:$this 是一个特殊的变量,它不能被赋值.
有关变量的函数信息见变量函数.
<?php
$var='Bob';
$Var='Joe';
echo "$var,$Var";//输出 "Bob,Joe"
//$4site='not yet';//非法变量名:以数字开头
$_4site='not yet';//合法变量名;以下划线开头
$i站点is='mansikka';//合法变量名;可以用中文
?>
变量默认总是传值赋值.那也就是说,当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量.
这意味着,例如,当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量。
PHP也提供了另外一种方式给变量赋值:引用赋值.这意味着新的变量简单的引用(换言之,"成为其别名"或者"指向")了原始变量.
改动新的变量将影响到原始变量,反之亦然.
使用引用赋值,简单地将一个&符号加到将要赋值的变量前.例如.下列代码片段将输出"My name is Bob"两次:
<?php
$foo='Bob';//将'Bob'赋给$foo
$bar=&$foo;//通过$bar引用$foo
$bar="My name is $bar";//修改
echo $bar;
echo $foo;
?>
有一点重要事项必须指出,那就是只有有名字的变量才可以引用赋值.
<?php
$foo=25;
$bar=&$foo;//合法的赋值
$bar=&(24*7);//非法;引用没有名字的表达式
function test()
{
return 25;
}
$bar=&test();//非法
?>
虽然在PHP中并不需要初始变量,但对变量进行初始化是个好习惯.未初始化的变量具有其类型的默认值-布尔类型的变量默认值是
FALSE,整型和浮点型变量默认值是零,字符串型变量默认值是空字符串或者数组变量的默认值是空数组.
Example #1未初始化变量的默认值
<?php
var_dump($unset_var);
echo($unset_bool?"true ":"false ");
$unset_str.='abc';
var_dump($unset_str);
//
$unset_float+=1.25;
var_dump($unset_float);
//
$unset_arr[3]='def';
var