(二)php的常量和变量

【php在命令行下接收参数】

如果在命令行调试php,传入的参数通过$argv获取,注意其中包含了文件名这一个元素,数组中元素的个数通过$argc获取。

【可变变量】

指的是变量的名称可变,变量的标识符可以由另一个变量的值来代替。

例如:第二个语句是为argv1这个变量赋值。

<?php

    $varName = 'argv1';
    $$varName = 'value1';
    var_dump($argv1);

?>

【常量】

使用define定义,不可删除和修改,调用时直接写名称。define还有三参数的版本,第三个参数代表是否大小写不敏感,默认为false。

<?php

    define('pi',3.14);
    echo pi;

?>
技巧:先检查常量有没有被定义再定义,使用defined函数:

<?php

    if(!defined('pi'))
        define('pi',3.14);
    else
        echo 'pi has been defined<br>';

?>
对于有特殊符号的常量,需要使用constant函数来调用,注意这时常量名应该加引号,例如:

<?php

    if(!defined('= ='))
        define('= =','puzzled');
    else
        echo 'pi has been defined<br>';
    
    echo constant('= =');

?>

获取已经定义的所有常量:

<?php
    
    var_dump(get_defined_constants());

?>

【魔术变量】

__LINE__获取当前所在的行,__FILE__获取当前路径。

一个应用:

利用str_replace函数替换文件中的文件名为路径+文件名来保证文件路径变化仍可以访问。

str_replace(<要查找的值>,<替换为的值>,<被搜索的字符串>,<替换计数变量(可选)>);

<?php
    
    define('ROOT',str_replace('a.php','',__FILE__));
    
    echo ROOT;

?>

【进制】

在数字前加0是八进制,加0x是十六进制。

【字符串类型】

双引号与单引号均可,但是双引号可以解析内部变量,但是单引号效率高。

双引号解析变量:{ }可以保证分开变量名与其它部分。

<?php

    $name = "test";
    echo "username is {$name}";

?>



posted on 2015-04-13 19:05  张大大123  阅读(167)  评论(0编辑  收藏  举报

导航