zoukankan      html  css  js  c++  java
  • PHP学习二--常量

    1.什么是常量

    常量可以理解为值不变的量(如圆周率);或者是常量值被定义后,在脚本的其他任何地方都不可以被改变。PHP中的常量分为自定义常量和系统常量。

    自定义常量是根据我们开发的需要,而定义的常量,它通过使用PHP中的函数define()定义。(注:函数,我们可以理解为一个混凝土搅拌机,亦或是一个筛子,通过入口提供原料,然后出口产出结果,在函数中也允许入口不提供任何数据,出口也允许不返回任何值。)

    define()函数的语法格式为:

    bool define(string $constant_name, mixed $value[, $case_sensitive = true])

    它有3个参数(也就是原料):

    第一个参数“constant_name”为必选参数,常量名称,即标志符,常量的命名规则与变量的一致,但是要注意哦,它可不带美元符号哦。第二个参数“value”为必选参数,它是常量的值。第三个参数“case_sensitive”为可选参数,指定是否大小写敏感,设定为true表示不敏感,一般不指定第三个参数的情况下,默认第三个参数的值为false。

    (注: string表示参数类型为字符串类型,mixed表示参数类型可以接受为多种不同的类型,case_sensitive = true表示默认为布尔类型TRUE)

    <?php
    $p = "PII";
    define("PI",3.14);
    define($p,3.14);
    echo PI;
    echo "<br />";
    echo PII;
    ?>

    2.系统常量是PHP已经定义好的常量,我们可以直接拿来使用,常见的系统常量有:

    (1)__FILE__ :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。

    (2)__LINE__ :PHP程序文件行数。它可以告诉我们,当前代码在第几行。

    (3)PHP_VERSION:当前解析器的版本号。它可以告诉我们当前PHP解析器的版本号,我们可以提前知道我们的PHP代码是否可被该PHP解析器解析。

    (4)PHP_OS:执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。

    获取常量值的有两种方法取值。

    第一种是使用常量名直接获取值;例如计算圆周率的面积,如下(“*”是运算符,相当于乘号,后面部分的小节会介绍):

    define("PI",3.14);

    第二种是使用constant()函数。它和直接使用常量名输出的效果是一样的,但函数可以动态的输出不同的常量,在使用上要灵活、方便,其语法格式如下:

    constant(string constant_name)

    第一个参数constant_name为要获取常量的名称,也可为存储常量名的变量。如果成功则返回常量的值,失败则提示错误信息常量没有被定义。(注:mixed表示函数返回值类型为多种不同的类型,string表示参数类型为字符串类型)

    <?php
    $p="";
    //定义圆周率的两种取值
    define("PI1",3.14);
    define("PI2",3.142);
    //定义值的精度
    $height = "中";
    //根据精度返回常量名,将常量变成了一个可变的常量
    if($height == "中"){
        $p = "PI1";
    }else if($height == "低"){
     $p = "PI2";
    }
    $r=1;
    $area = constant($p)*$r*$r;
    echo $area;
    ?>

    运行结果为:3.14

     

    如果常量被重复定义以后,PHP解析器会发出“Constant XXX already defined”的警告,提醒我们该常量已经被定义过。那么,在团队开发,或代码量很大的情况下,我们如何去判定一个常量是否被定义呢?

    <?php
    define("PI1",3.14);
    $p = "PI1";
    $is1 = defined($p);
    $is2 = defined("PI2");//重复定义的变量
    var_dump($is1);//精确打印输出
    var_dump($is2);
    ?>

  • 相关阅读:
    67. Add Binary
    66. Plus One
    64. Minimum Path Sum
    63. Unique Paths II
    How to skip all the wizard pages and go directly to the installation process?
    Inno Setup打包之先卸载再安装
    How to change the header background color of a QTableView
    Openstack object list 一次最多有一万个 object
    Openstack 的 Log 在 /var/log/syslog 里 【Ubuntu】
    Git 分支
  • 原文地址:https://www.cnblogs.com/moxuexiaotong/p/6598515.html
Copyright © 2011-2022 走看看