1. 常量的含义
常量,就是一个用于存储“不会(也不允许)变化的数据”的标识符。比如圆周率,在一定的应用场景中,就是是一个固定的值(人为规定为某个值)。
2. 常量的两种定义形式
2.1 define()函数形式
define(‘常量名’, 对应的常量值);
define('WIDTH',30);
2.2 const关键字定义
const 常量名 = 对应的常量值
const HEIGHT = 20;
3. 常用的两种取值形式
3.1 直接使用
echo 常量名; //注意:使用常量,前面不带”$”符号,也不能有引号
3.2 使用constant()函数以取值
echo constant('常量名'); //注意,此时常量名要用引号引起来
示例如下:
示例代码如下
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<?php
//定义常量的形式1
define('A1',3.14);
//定义常量的形式2
const A2 = 3.1416;
//计算半径为2的圆的面积,使用A1作为圆周率
$s1 = A1 * 2 * 2;
//计算半径为2的圆的面积,使用A2作为圆周率
$s2 = A2 * 2 * 2;
//计算半径为3的圆的面积,使用A1作为圆周率
$s3 = constant("A1") * 3 * 3;
echo "<br>s1的面积是: ",$s1;
echo "<br>s2的面积是: ",$s2;
echo "<br>s3的面积是: ",$s3;
?>
</body>
</html>
4. 变量与常量的区别
- 变量的数据可以变化(重新赋值),常量不可以。
- 变量可以存储各种数据类型,而常量只能存储简单数据类型。
- 给变量赋值可以是“计算”结果,但给常量赋值,只能是“直接写出的值”(字面值)
$v1 = 1 + 2;//正确的
const V2 = 1 + 2 //错误的
5. 判断一个常量是否存在:defined()
判断的结果返回:true(表示存在)或false(表示不存在)
形式:
if( defined (‘常量名’) ) { //如果该常量名存在,则....
//....做什么事情。。。。
}
示例代码如下:
//如果常量A1不存在,那么就定义它
if( !defined("A1")){
//判断后该常量A1不存在,那么定义
define("A1",3.14);
}
//计算半径为2的圆的面积,以A1作为圆周率
$s1 = A1 * 2 * 2;
6. 预定义常量
预定义常量就是PHP语言内部预先定义好的常量,我们可以直接使用。
比如:PHP_VERSION, PHP_OS, PHP_INT_MAX, M_PI等。
PHP_VERSION: 表示当前php的版本信息
PHP_OS: 表示当前php运行所在的系统信息
PHP_INT_MAX: 表示当前版本的php中的最大的整数值
M_PI: 表示圆周率π(一个有10多位小数的数)
其它的预定义常量可查手册,按下图所示查找:
7. 几个魔术常量
含义:
魔术常量也是常量,只是在形式上为常量,而其值其实是“变化”的。
他们也是系统中预先定义好的,也就几个,下面是最常用的 3个:
__DIR__//代表当前php网页文件所在的目录
__FILE__//代表当前php网页文件本身的路径
__LINE__//代表当前这个常量所在的行号
演示示例如下
示例代码如下:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<?php
echo "当前网页所在目录:",__DIR__;
echo "<br />当前网页本身的路径:",__FILE__;
echo "<br/>当前这一行的行号:",__LINE__;
echo "<br/>当前这一行的行号:",__LINE__;
echo "<br/>当前这一行的行号:",__LINE__;
?>
</body>
</html>
网友评论