第二十二课:自定义常量
还记得前面我们讲过的PHP中的常量吗?常量是命名了的常数(可以是任何类型的数据)。常量的使用与变量有较大的区别:首先常量不加美元符($),直接用名字来引用它就行了;其次常量的值不可改变,即不可重定义。例如22-1:
复制内容到剪贴板
代码:
<?php
echo '我使用的PHP版本号:'.PHP_VERSION; //PHP_VERSION是PHP内置常量
echo '运行PHP的操作系统:'.PHP_OS; //PHP_OS是PHP内置常量
?>在PHP中我们还可以按需要自定义常量,方法是使用
define()函数。常量常用来记录整个程序中不变的数据,而且常常放在程序的开头,这样做有利于日后程序的修改和调试。例如22-2:
复制内容到剪贴板
代码:
<?php
define( "SITE", "php同盟会" ); //定义常量SITE
define( "URL", www.dophp.net ); //定义常量URL
echo "有个学习和讨论PHP的地方叫".SITE;
echo "它的网址是".URL;
/*
结果输出:
有个学习和讨论PHP的地方叫php同盟会
它的网址是www.dophp.net
*/
?>你还可以用
define()函数做些复杂的事情。例如22-3:
复制内容到剪贴板
代码:
<?php
define( "TIYU", 1<<1 ); //体育=2
define( "CHANGGE", 1<<2 ); //唱歌=4
define( "MEISHU", 1<<3 ); //美术=8
define( "YUEDU", 1<<4 ); //阅读=16
$A = 2 | 8; //客户A的爱好有“体育+美术”
$B = 4 | 8; //客户B的爱好有“唱歌+美术”
$C = 2 | 4 | 16; //客户C的爱好有“体育+唱歌+阅读”
/*
也可以这样定义客户爱好
$A = TIYU | MEISHU; //客户A的爱好有“体育+美术”
$B = CHANGGE | MEISHU; //客户B的爱好有“唱歌+美术”
$C = TIYU | CHANGGE | YUEDU; //客户C的爱好有“体育+唱歌+阅读”
*/
//定义一个打印客户爱好的函数
function aihao( $name ){
if( $name & TIYU ) echo "体育<br>";
if( $name & CHANGGE ) echo "唱歌<br>";
if( $name & MEISHU ) echo "美术<br>";
if( $name & YUEDU ) echo "阅读<br>";
}
echo '客户A的爱好有:<br>';
aihao( $A );
echo '客户B的爱好有:<br>';
aihao( $B );
echo '客户C的爱好有:<br>';
aihao( $C );
?>从上面的例子我们可以看出,常量是全局有效的,可以在函数内部引用。