什么是常量以及如何正确的使用它

Original 2019-08-09 13:09:44 1507
abstract:<?php/** * 教学内容: 为什么说常量是只读变量? * 1. 常量的作用: 有一个脚本中,有一些数据是不会发生变化的,例如用户的国籍,登录状态等 * * 2. 常量的定义: define()和const *      1.常量其实就是只读变量,一旦定义,不允许再赋值,更不允许删除,特别适合于数据相对固定的

<?php

/**

 * 教学内容: 为什么说常量是只读变量?

 * 1. 常量的作用: 有一个脚本中,有一些数据是不会发生变化的,例如用户的国籍,登录状态等

 *

 * 2. 常量的定义: define()和const

 *      1.常量其实就是只读变量,一旦定义,不允许再赋值,更不允许删除,特别适合于数据相对固定的数据,例如国籍,品牌等;

 *      3.常量与超全局变量一样不受作用域的限制,可以在函数中直接访问;

 *      4.常量不要用$开头,推荐全部使用大写字母,多个单词之间推荐使用下划线进行连接

 *      5.常量只能通过define()函数定义,而不能通过赋值语句

 *      6.常量必须使用标量进行初始化:字符串,数值,布尔值

 *

 * 3. 常量的访问: 不能更新,不能删除,只有读取,并且不受函数作用域的限制

 */



/**

 * 老师, 如果程序中,有一些数据,我不允许用户更新或删除,应该怎么做呢?

 * 用只读变量就可以呀

 * 只读变量?没听说过

 * 只读变量,其实就是大名鼎鼎的常量呀,下面我们就用实例来演示一下常量的使用

 */



//1.常量定义

//函数: define()函数

define('FACTION', '古墓派');

//关键字: const 关键字

const USER_NAME = '杨过';



//2.访问常量: 与普通变量一样

echo FACTION, '<br>';

echo USER_NAME, '<br>';


//常量其实就是一个只读变量,所谓只读,是说不能修改,不能删除

//跟只读文件是一样的,不能更新,不能删除

//FACTION = '全真教';

//echo FACTION, '<br>';

//删除常量

//unset(FACTION);



//2. 常量的作用域: 类似预定义变量,在函数中不用声明,可以直接使用

function demo()

{

    return '我是'.FACTION.'的二掌门'.USER_NAME;

}


//访问函数中的常量

echo demo(), '<br>';


/********************************************************/



//define()与const声明常量的区别

//1. define()声明的常量,可以使用标量或值为标量的变量表达式,const只能使用标量字面量

$price=99;

define('BOOK',$price);

echo BOOK, '<br>';


//用变量给const定义的常量赋值,出错

// const BOOK1 = $price;

// echo BOOK1, '<br>';


//2.const 可以声明类常量,define()不可以

class Test1

{

    const DOMAIN = 'www.php.cn';

    // define('MY_HOME','合肥');

}


echo Test1::DOMAIN, '<br>';


//3.define()声明的常量,不受命名空间的限制,const则依赖于类,类依赖于命名空间

//命名空间的知识,等学到类与对象的时候,咱们再细细聊


/**

 * 老师,原来常量只有一个普通的只读变量罢了,这么简单呀

 * 是呀,以前你是不是想太多了,学习知识,一定要结合之前学过的知识,多想多问

 */


const TEST = 999;

echo  TEST;

echo 1111;


Correcting teacher:天蓬老师Correction time:2019-08-15 10:45:57
Teacher's summary:不得照抄 <?php /** * 教学内容: 为什么说常量是只读变量? * 1. 常量的作用: 有一个脚本中,有一些数据是不会发生变化的,例如用户的国籍,登录状态等 * * 2. 常量的定义: define()和const * 1.常量其实就是只读变量,一旦定义,不允许再赋值,更不允许删除,特别适合于数据相对固定的数据,例如国籍,品牌等; *

Release Notes

Popular Entries