变量浅显的来说是一种容器。依据变量范例差别,容器的大小不一样,天然能寄存的数据大小也不雷同。在变量中寄存的数据,我们称之为变量值。
PHP 中的变量用一个美圆标记背面跟变量名来示意。变量名是辨别大小写的。在PHP中变量的定名划定规矩一般是以字母或下划线开首,由字母、数字、下划线构成。变量名一般由声明变量所代表意义的英文单词构成。单词与单词之间经由过程_分开,或许第一个单词首字母小写,以后每一个单词首字母大写。这类定名体式格局我们称之为驼峰定名法。优越的定名范例有助于进步我们代码的可读性。
<?php $name = '屋脊猫'; $_age = 1; $sex = '男'; echo "姓名:{$name},岁数:{$_age}, 性别:{$sex}"; $1sex = '男'; // 毛病,不能以数字开首 ?>
变量的初始化
变量的初始化是给变量设置一个默许值(或许是须要的值),初始化的过程当中PHP会给变量分派存储空间以及将变量值地点存储空间地点保留在变量中。
<?php $a = 1; // 初始化一个整形变量 ?>
虽然在PHP中不须要初始化变量,但对变量举行初始化是个好习惯。未初始化的变量具有其范例的默许值
● 布尔范例的变量默许值是 FALSE
● 整形和浮点型变量默许值是零
● 字符串型变量(比方用于 echo 中)默许值是空字符串
● 数组变量的默许值是空数组
运用未初始化的变量会发出 E_NOTICE毛病,但是在向一个未初始化的数组附加单位时不会。
依靠未初始化的变量的默许值在某些情况下会有题目,比如在以后的编码中我们须要常常的将一个文件经由过程include包含到当前文件,假如两个文件中有雷同的变量名,此时的变量值则不是我们须要的默许值了。别的在PHP 5.4.0之前的版本中把 register_globals翻开是一个主要的安全隐患。在PHP 5.4.0以后该设置已被移除。
变量的赋值体式格局
在PHP中有两种传值体式格局,分别为传值赋值和援用赋值。
1.传值赋值
传值赋值是PHP中默许的传值体式格局。那也就是说,当将一个表达式的值给予一个变量时,全部原始表达式的值被赋值到目的变量。这意味着,当一个变量的值给予别的一个变量时,转变个中一个变量的值,将不会影响到别的一个变量。如:
<?php $var1 = 1; $var2 = $var1; $var1 = 3; echo $var1; // 3 echo $var2; // 1 ?>
2.援用赋值
援用赋值意味着新的变量简朴的援用了原始的变量,转变了新的变量的值将影响到原始的变量的值,反之亦然。运用援用赋值,只需简朴地将一个 & 标记加到将要赋值的变量前(源变量)如:
<?php $oldVar = 1; $newVar = &$oldVar; $newVar = 2; echo $oldVar; // 2 echo $newVar; // 2 ?>
&符在C语言中称之为取地点符,变量保留了变量值在内存中的存储地点,经由过程取地点符能够将一个变量保留的变量值的地点赋值给另一个变量。两个变量的值指向了同一个内存地点,所以当我们修正个中一个变量的值时,另一个变量的值天然而然的随之被转变。
有一点主要事项必需指出,那就是只要有名字的变量才能够援用赋值。
<?php $foo = 25; $bar = &$foo; // 正当的赋值 $bar = &(24 * 7); // 不法; 援用没有名字的表达式 ?>
在(24*7)这个表达式中由于没有保留在变量中,所以没有明白的内存地点,经由过程取地点符去猎取在内存中存储的地点是不可取的。
以上就是PHP变量的初始化以及赋值体式格局引见的细致内容,更多请关注ki4网别的相干文章!