0

3.2PHP变量的声明和引用赋值

Posted by 撒得一地 on 2015年10月6日 in PHP入门教程

PHP变量声明

和很多语言不同,在PHP中使用变量之前不需要声明变量(PHP4之前需要声明变量),只需要为变量赋值即可。PHP 中的变量用一个美元符号($)后面跟变量名来表示。变量名是区分大小写的。 

一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。 在此所说的字母是 a-z,A-Z,以及 ASCII 字符从 127 到 255(0x7f-0xff)。 

变量赋值,是指给变量一个具体的数据值,对于字符串和数字类型的变量,可以通过"="来实现,格式为:

<?php $name=value;?>

对变量赋值时,要遵循变量命名规则。如下面的变量命名是不合法的:

<?php
  //变量名不能以数字字符开头
  $333abc = "adfd";
 
 //变量名不能以其它字符开头
  $@split = "split";
?>

而下面的变量是合法的:

<?php
  $word = "coin";
  $_material = "roof";
?>

除了直接给变量赋值外,还有两种方式可为变量声明和赋值,一种是变量间的赋值。变量间的赋值是指赋值后两个变量使用各自的内存,互不干扰。

例子1:

<?php
  //声明变量$str1
  $str1 = "hello";
  //用$str1初始化$str2

  $str2 = $str1;
  $str1 = "nihao";
  echo $str1."<br/>";
  echo $str2;
?>
输出结果:
nihao
hello

PHP引用赋值

另一种是引用赋值,从php4开始,php引入"引用赋值"。引用的概念是,用不同的名字访问同一个变量内容。当改变其中一个变量值时,另一个也跟着发生变化。使用&符号来表示引用。

例子2:

<?php
  $name = "peter";
  //使用引用赋值,$old_name已经赋值为peter
  $old_name = &$i;
  echo $old_name."<br/>";

  //重新给$name赋值
  $name = "sandy";
  echo $old_name;
?>
上面结果输出:
peter
sandy

注意:引用和复制的区别在于:复制是将原变量内容复制下来,开辟一个新的内存空间来保存。而引用则是给变量的内容再起一个名字,两个是共用同一个内存的。 

虽然在 PHP 中并不需要初始化变量,但对变量进行初始化是个好习惯。未初始化的变量具有其类型的默认值 – 布尔类型的变量默认值是 FALSE ,整形和浮点型变量默认值是零,字符串型变量(例如用于 echo  中)默认值是空字符串以及数组变量的默认值是空数组。 

依赖未初始化变量的默认值在某些情况下会有问题,例如把一个文件包含到另一个之中时碰上相同的变量名。另外把 register_globals 打开是一个主要的安全隐患。使用未初始化的变量会发出 E_NOTICE 错误,但是在向一个未初始化的数组附加单元时不会。 isset()语言结构可以用来检测一个变量是否已被初始化。 

标签:,

上一篇:

下一篇:

相关推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注

3 + 5 = ?

网站地图|XML地图

Copyright © 2015-2018 技术拉近你我! All rights reserved.
闽ICP备15015576号-1,版权所有©psz.