首页 > PHP教程 > PHP变量及数据类型

PHP变量定义与使用

php变量名:

PHP 中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。

1
2
3
4
5
6
7
8
<?php
$var = 'hello';
$Var = 'world';
echo "$var, $Var";      // 输出 "hello, world"  变量名是区分大小写
$1a = 'hello';     // 非法变量名;以数字开头
$_1a = 'hello';    // 合法变量名;以下划线开头
$i我们is = 'hello';  // 合法变量名;可以用中文
?>

 

变量赋值与引用:

变量默认总是传值赋值。当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。

例如,当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量。

PHP 另外一种方式给变量赋值:引用赋值。这意味着新的变量简单的引用了原始变量。改动新的变量将影响到原始变量,反之亦然。

使用引用赋值,简单地将一个 & 符号加到将要赋值的变量前(源变量)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$foo = 'php';              // 将 'php' 赋给 $foo
$bar = &$foo;              // 通过 $bar 引用 $foo
$bar = "hello $bar";  // 修改 $bar 变量
echo $bar;                 //输出hello php
echo $foo;                 // $foo 的值也被修改,输出hello php
?>
<?php
$foo = 5;
$bar = &$foo;      // 合法的赋值
$bar = &(56 * 7);  // 非法; 引用没有名字的表达式
function test()
{
   return 5;
}
$bar = &test();    // 非法
?>

PHP 中并不需要初始化变量,但对变量进行初始化是个好习惯。未初始化的变量具有其类型的默认值 : 布尔类型的变量默认值是 FALSE,

整形和浮点型变量默认值是零,字符串型变量(例如用于 echo 中)默认值是空字符串以及数组变量的默认值是空数组。

 

可变变量:

一个变量的变量名可以动态的设置和使用。一个普通的变量通过声明来设置,例如:

1
2
3
<?php
$a = 'hello';
?>

一个可变变量获取了一个普通变量的值作为这个可变变量的变量名。在上面的例子中 hello 使用了两个美元符号($)以后,就可以作为一个可变变量的变量了。例如:

1
2
3
<?php
$$a = 'world';
?>

这时,两个变量都被定义了:$a 的内容是“hello”并且 $hello 的内容是“world”。因此,以下语句:

1
2
3
<?php
echo "$a ${$a}";
?>

与以下语句输出完全相同的结果:

1
2
3
<?php
echo "$a $hello";
?>

它们都会输出:hello world。

要将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下 $$a[1] 时,解析器需要知道是想要 $a[1] 作为一个变量呢,

还是想要 $$a 作为一个变量并取出该变量中索引为 [1] 的值。解决此问题的语法是,对第一种情况用 ${$a[1]},对第二种情况用 ${$a}[1]。

类的属性也可以通过可变属性名来访问。可变属性名将在该调用所处的范围内被解析。

例如,对于 $foo->$bar 表达式,则会在本地范围来解析 $bar 并且其值将被用于 $foo 的属性名。对于 $bar 是数组单元时也是一样。

以上就是PHP变量定义与使用的全部内容,欢迎大家学习。

PHP历史版本

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。