PHP常量
1.声明和使用常量
    常量可以理解为值不变的变量。常量值被定义后,在脚本的其他任何地方都不能改变。常量通常具有如下的属性:
常量区分大小写,在定义的时可以指定是否大小写敏感。
其命名的规则和变量一样
常量的开头字母只能是字母和下划线,后面可以接任意个数的字母字符。
默认的情况下,它的作用域是全局的,即在当前当前脚本的任何地方都可以使用。
已定义常量的名称不能与再次定义的常量和变量的名称相同
在定义常量时,应该尽可能使用大写字符,便于阅读和识别。
常量的名称不能以字符$开头,它们的值只能是特定类型的:整数、浮点数、字符串和布尔值。
在PHP中通常使用define()函数来定义常量;使用constant()函数动态获取常量值;使用defined()函数判断一个常量是否已经定义;使用get_defined_constants()函数获取所有当前已经定义的常量。
define()函数
该函数用来定义常量
语法:define(string constant_name,mixed value,case_sensitive=true)
该函数有3个参数:
constant_name:必选参数,常量名称,即标志符。
value:必选参数,常量的值。
Case_sensitive:可选参数,指定是否大小写敏感,设定为true,表示不敏感。
例子:测试常量
<?php
    //了解常量
   
    //测试1:常量区分大小写
    //define("aaa",22);
    //define("AAA",26);
    //echo aaa;
    //echo "<br>";
    //echo AAA;
    //从输出结果可以看出常量是区分大小写的
   
    //测试2:在定义时指定是否大小写敏感
    //define("aaa",22,true);
    //define("AAA",26,true);
    //echo aaa;
    //echo "<br>";
    //echo AAA;
    //从输出结果可以看出在将参数Case_sensitive设定为true后,大小写为不敏感!
   
    //测试3:常量的命名
    //define("3ads",89);
    //echo 3ads;//输出:syntax error说明常量不能是数字开头
    //define("_ads",89);
    //echo _ads;//输出:syntax error说明常量可以是下划线开头
    //define("a3_ds",89);
    //echo a3_ds;//输出:syntax error说明常量可以是字母开头
   
    /**
    * 测试4:测试使用范围-常量一旦被声明将可以在全局可见,也就是说,它们可以在函数内外使用,
    * 但是这仅仅限于一个页面之中(包含我们通过include和include_once)包含进来的PHP脚本,但是在其他的页面之中就不能使用了。
    * 下面的测试都输出82,说明常量是全局可见的!
    */define的基本用法
    //define("CONSTANT",82);
    //echo CONSTANT;//函数外使用
    //cl();//调用函数
    //function cl()
    //{
        //echo CONSTANT;//函数内使用
    //}
    //header("location:cl.php");//自动跳转到cl.php页面
   
    //cl.php页面代码
    /**
    *    测试常量在另一页面是否可用
        include_once("index.php");//测试该步时,请将index.php页面的header注销,不然就成死循环了!!!
        echo CONSTANT;
        发现输出的是字符串CONSTANT,如果使用了一个未定义的常量(此处的CONSTANT相当于未定义),PHP 假定你想要的是该常量本身的名字,如同你用字符串调用它一样(CONSTANT 对应 "CONSTANT")。
    */
   
    //测试5:已定义常量的名称不能与再次定义的常量和变量的名称相同
    //$NAME="www";
    //define("NAME","uuu");
    //define("NAME","zzz");
    //echo NAME;
    //输出结果表明:如果已定义常量的名称与再次定义的常量和变量的名称相同,那么以第一个定义的常量为准!
   
    //测试6:常量不能在程序执行过程中改变值
    //define("CONSTANT",82);
    //CONSTANT=2;//提示语法错误
    //CONSTANT+=2;//提示语法错误
    //define("CONSTANT",33);//没有问题
    //echo CONSTANT;//输出仍为82,虽然脚本运行中利用define再次定义CONSTANT不会有语法错误,但是在脚本运行过程中常量是不会改变的!!!
   
?>
Constant()函数
    获取指定常量的值,和直接使用常量名输出的效果是一样的。但函数可以动态地输出不同的常量,在使用上要灵活、方便的多。
    语法:mixed constant(string const_name)
    参数const_name是要获取常量的名称,也可是存储常量名的变量。如果成功返回常量的值,失败则提示错误信息常量没有被定义。
   
例子:使用Constant()函数获取指定常量的值
<?php
    //使用Constant()函数获取指定常量的值
    define("MESSAGE","php");
    echo constant("MESSAGE");//括号中必须加引号,需要用echo输出
   
    $name="MESSAGE";
    echo constant($name);//参数是存储常量名的变量
?>
defined()
判断一个常量是否已经被定义。
语法:bool defined(string constant_name);
参数constant_name为要获取常量的名称,成功返回true,否则返回false。
   
例子:defined函数的使用
<?php
    //defined函数的使用
    define("MESSAGE","php");
   
    if (defined("MESSAGE"))
    {
        echo "常量MESSAGE已被定义!";
    }
    else echo "未被定义!";
   
    if (defined("ONE"))
    {
        echo "常量ONE已被定义!";
    }
    else echo "未被定义!"
?>
预定义常量
PHP中可以使用预定义常量获取PHP中的信息。常用的预定义常量有:
__FILE__        PHP程序文件名。
PHP_VERSION    PHP程序的版本。
PHP_OS        执行PHP解析器的操作系统名称。
TRUE        真值。
FALSE        假值。
NULL        空值。   
注意: __FILE__ 中的”__”是两条下划线,不是一条   
例子:预定义常量的使用
<?php
    //例子:预定义常量的使用
    echo "当前文件路径:".__FILE__;//会输出当前文件的详细路径
    echo "<br />";
    echo "当前PHP版本信息:".PHP_VERSION;
    echo "<br />";
    echo "当前操作系统:".PHP_OS;
?>
PHP变量
    变量是指在程序执行过程中其值可以变化的量变量通过一个名字(变量名)来标识。系统为程序中的每一个变量分配一个存储单元,变量名实质上就是计算机内存单元的命名。因此,借助变量名就可以访问内存中的数据。
1.理解变量
    和很多语言不同,在PHP中使用变量之前不需要声明,只需为变量赋值即可。PHP中的变量名称用$和标识符表示。
2.声明变量(详见标识符部分)
    PHP中的变量用“$”加变量名来表示。变量名区分大小写。
    使用变量时,只需对变量直接赋值即可。变量赋值,是指给变量一个具体的数据值,对于字符串和数字类型的变量,可以通过“=”来实现。
例如:$name=“zzz”;
    除了直接赋值外,还有两种方式来给变量声明或赋值。一种是变量间的赋值,另一种是引用赋值。
例子:变量间的赋值
<?php
    //例子:变量间的赋值
    $str="php";
    $str2=$str;
    echo $str2;
?>
从PHP4.0开始,PHP引入了“引用赋值”的概念。就是说用变量给变量赋值后,当改变其中一个变量的值,另一个也跟着发生变化。有点像C语言里的指针,使用“&”符号来引用。
   
例子:引用赋值
<?php
    //例子:引用赋值
    $i="zhao";
    $j="wang";
    $j=&$i;//使用引用赋值,这时$j已经赋值成为zhao
    $j="hello,$j";
    echo $j;
    echo "<br />";
    echo $i;
    //由于我们把$i的内存地址给了$j,所以我们修改$j就相当于修改了$i,所以$i随着$j的变化而变化
?>
3.变量的作用域
    变量在使用时,要符合变量的定义规则。变量必须在有效范围内使用,如果超出有效范围,变量也就失去其意义了。变量的作用域有:
局部变量:也叫本地变量。即在函数的内部定义的变量,其作用域是所在的函数。因此,局部变量不能访问函数的外部或者其他函数的内部。
   
例子:了解局部变量
<?php
    //例子:了解局部变量
    $var="php";//一个函数外部的变量
    function test(){
        echo $var;//使用一个函数内部的变量
    }
    test();//调用函数,输出为空,说明函数内部不能使用外部的变量
    echo $var;
?>
全局变量:函数外部的变量,通常称为全局变量。和其他语言不同,比如C语言中,全局变量是自动设定为可用的。在PHP中,函数内部不能自动地使用全局变量,要想在函数内部使用全局变量,可以使用关键字global将一个局部变量声明为全局的。
例子:了解全局变量
<?php
    //全局变量
    $var="php";//一个函数外部的变量
    function test(){
        global $var;//声明一个全局变量
        echo $var;//输出
    }
    test();//调用函数,输出为PHP
?>
<?php
    function a()
    {
        global $ac;
        $ac=1;
        b();
    }
    function b()
    {
        global $ac;
        echo $ac;
    }
    a();
    b();
    //以上两种方式都可以输出$ac的值
?>
还可以利用预定义的全局变量数组$GLOBALS。$GLOBALS是一个特殊的变量,在程序运行时,自动创建。$GLOBALS数组中的元素与外部变量一一对应。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。