首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>PHP教程>资讯:PHP声明变量

PHP声明变量

www.jz123.cn  2010-12-03   来源:   站长家园    责任编辑(袁袁)    我要投递新闻

2.4  变量

变量是指在程序的运行过程中随时可以发生变化的量,在代码中可以只使用一个变量,也可以使用多个变量,变量中可以存放单词、数值、日期以及属性等。变量的值是临时的,当程序运行的时候,该值是存在的,如果程序结束,变量的值就会丢失。虽然在前面的示例中也使用到了变量,但是没有详细的说明,本节将详细介绍如何创建变量,以及如何引用变量。

2.4.1  创建变量

PHP中的变量是用美元符号($)作为前缀的标示符,标识符是一个标识不同对象的符号,如变量的名称,函数的名称,或者其他用户自定义对象的名称。在PHP中,标识符的命名必须符合下面的规定:

l  标识符可以由一个或多个字符组成,但必须以字母或下划线开头。此外,标识符只能由字母、数字、下划线字符和从127255的其他ASCII字符组成。如my_aSs_value这些标识符名称都是合法的,而q^a4tt这些变量的名称是不合法的。

l  标识符区分大小写。因此,变量$recipe不同于变量$Recipe$rEciPe$recipE

l  标识符可以是任意长度。这很有好处,因为这样一来,程序员就能通过标识符名准确地描述标识符的用途。

l  标识符名称不能与任何PHP预定义关键字相同。

在创建变量的过程中,先声明变量,再给变量赋值是一个好的习惯。由于PHP是一种弱类型语言,在声明变量时,不需要显示声明变量,变量可以存放任何类型的值,在PHP中,变量在运行时进行类型检查,并且可以用另一个不同类型的值取代变量的值,下面声明一个变量,并且让另一个不同类型的值取代变量的值,再为声明一个没有赋值的变量,具体代码如下所示:

$what = “Yound Tang”;

$what = 25;

$name;

PHP中,给变量赋值有两种方式,分别为值赋值和引用赋值。值赋值是直接把一个数值通过赋值表达式复制给变量,会把该变量原来的数值覆盖,如果在声明变量时,没有赋值,其行为就形同NULL。在声明变量时赋值是一种常用的变量的赋值方法,使用示例如下所示:

$name = “唐晓阳”;

$age = “23”;

$sex = “”;

echo “你的姓名是:”.$name.”<br/>”;

echo “你的年龄是:”.$age.”<br/>”;

echo “你的性别是:”.$sex.”<br/>”;

执行该段代码,执行结果如下所示:

你的姓名是:唐晓阳

你的年龄是:23

你的性别是:男

PHP中,声明变量可以直接赋值,也可以不赋值,当需要使用变量存储值时,可以引用变量赋值,引用赋值表示所创建的变量与另一个变量引用的内容相同。因此,如果多个变量引用了同一个内容,修改其中任意一个变量,在其余的变量上都将有所反映。在等于号后面加一个&符号就可以完成引用赋值。引用赋值的示例形式如下所示。

$value1="Hello World";

$value2=& $value1;

$value2="GoodBye";

echo $value1.”<br/>”;

echo $value2.”<br/>”;

在上述代码中,创建一个变量value1并赋值为“Hello World”,在下面的语句中,变量$value2采用了引用赋值,即把value1的值赋给了value2,此时这两个变量就是一个生命共同体了,当一个发生变化,另外一个就会显示出结果,该段代码执行结果如下所示:

GoodBye

GoodBye

2.4.2  变量作用域

声明变量的位置决定了变量的作用域,变量的作用域决定了程序的那些部分可以访问该变量,那些部分不可以访问该变量,在PHP中,变量的作用域范围可以分为四类:局部变量、函数参数、全局变量和静态变量,本节主要介绍变量的这几种作用域范围。

1.局部变量

在一个函数中声明一个变量是那个函数的局部变量,也就是说该变量只能被函数内部成员访问,函数外部成员是不能访问该变量,并且不可见。默认情况下,函数内部成员不能访问函数外定义的变量(平常所说的的全局变量)。有时局部变量很有用,因为局部变量能够消除出现一位副作用的可能性,否则这些副作用将导致可全局访问的变量被有意或无意地修改。下面创建一个使用局部变量的示例,该示例如代码2.13所示。

代码2.13  使用局部变量

<?php

    $count =10;

    function AddCount()

    {

              $count = 100;

              $count = $count + $count;

              echo $count;

              echo "&lt;br/>";

    }

    AddCount();

    echo $count;

?&gt;

执行代码2.13,执行结果如下所示:

200

10

有输出结果知,该段代码输出了两个不同的值,这是因为函数AddCount函数中的变量为局部变量,修改局部变量的值不会影响函数外部的任何值,函数中的变量在程序结束时被抛弃,所以全局变量值还是10

2.函数参数

PHP中,函数可以接受相应的参数,虽然这些参数是接受函数外部的值,但退出函数后就无法访问这些参数,在函数执行结束后,参数的值就会消失,和函数的执行有很大的关系。函数参数是在函数后面的括号内声明,下面使用该参数创建一个示例,该示例如代码2.14所示。

代码2.14  运用函数参数

<?php

   function EchoNum($age,$class)

   {

         echo "你的年龄是:".$age."&lt;br/>";

         echo "所在班级:".$class;

   }

   EchoNum(18,"计算机技术与科学系085");

?&gt;

执行该段代码,执行结果如下所示:

你的年龄是:18

所在班级:计算机技术与科学系085

函数参数也可以称为是局部变量,意味着这些参数只在函数内部起作用,在函数的外部不能访问这些变量,同样当函数执行结束时,变量同样也会撤销。

3.全局变量

全局变量可以在整个PHP程序中,任何地方访问,但是如果要修改一个全局变量,必须在修改该变量的函数中显式的声明为全局变量,在函数中显示声明全局变量很简单,只需在函数中使用global关键字声明就可以,下面创建一个使用全局变量的示例,具体讲解在函数中如何修改全局变量,该示例如代码2.15所示。

代码2.15  在函数中修改全局变量

<?php

   function AddNum()

   {

        global $num;

        $num = $num + $num ;

        echo $num ;

   }

   $num = 100;

   AddNum();

?>

执行代码2.15,执行结果如下所示:

200

如果不在$num前加global,该变量会被认为是局部变量,此时页面上显示的值为0;添加global后,就可以修改全局变量了,声明全局变量还有另外一种方法,那就是使用PHP$GLOBALS数组,使用该数组和使用global的效果一样,下面创建一个使用$GLOBALS数组的示例,该示例如代码2.16所示。

代码2.16  使用$GLOBALS数组

<?php

   function AddNum()

   {

        $GLOBALS['num'] =$GLOBALS['num']+$GLOBALS['num']  ;

        echo "该值是:".$GLOBALS['num'] ;

   }

   $num = 100;

   AddNum();

?>

执行代码2.16,执行结果如下所示:

该值是:200

 

在使用全局变量时,一定要注意,因为使用全局变量很容易发生意外。

 

4.静态变量

静态变量在两次调用函数之间其值不变,静态变量仅在局部函数域中声明,用关键字static可以声明一个静态变量。静态变量在函数退出时,不会丢失值,并且再次调用此函数时,还能保留值。下面创建一个使用静态变量的示例,该示例如代码2.17所示。

代码2.17  使用静态变量

<?php

   function keepNum()

   {

         static $num =0;

         $num ++;

         echo "现在静态变量的值是:".$num;

         echo "&lt;br/>";

   }

   $num = 10;

   echo "变量num的值是:".$num."<br/>";

   keepNum();

   keepNum();

?&gt;

执行代码2.17,执行结果如下所示:

变量num的值是:10

现在静态变量的值是:1

现在静态变量的值是:2

由代码2.17执行结果知,由于在函数中指明了变量为静态变量,因此在执行函数时保留了前面的值。

2.3.3  变量的变量

创建一个变量,需要该变量赋值,当然也可以引用赋值,有时候也需要使用该变量的内容作为变量名,也就是说这个变量存放在另一个变量中。定义变量的变量只需要在变量的前面再添加一个美元符号即可。下面创建一个示例,该示例代码如下所示:

<?php

   $name = "Yound";

   $$name = " Tang";

   echo  $name.$$name;

?>

执行该端代码,执行结果如下所示:

Yound Tang

由上面例子知,一个可变变量获取了一个普通变量的值作为这个可变变量的变量名。就可以作为一个可变变量的变量了,这时,两个变量都被定义了。


上一篇:PHP判断端口是否打开的代码 下一篇:zencart根据ip调用语言包

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图