常量像变量一样,用于临时存储一个值,但是常量在许多方面与变量不同。

常量:
1、是在程序执行期间无法改变数据,常量的作用域是全局的。
2、常量的命名与与变量相似,只是不带美元符号“$”。一个有效的常量名由字母或者下划线开头,后面跟着任意数量的字母、数字或者下划线。
3、一般在PHP中常量都为大写字母而且又分为系统常量和自定义常量。

=================================================================================

系统常量我们就大概说了 ,这个在后面的知识会介绍到。

1、__FILE__    默认常量,是指PHP程序文件名及路径;
2、__LINE__    默认常量,是指PHP程序的行数;
3、__CLASS__    类的名称;

自定义常量:通过define()函数来定义一个常量的,

其语法格式为:bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

name:指定常量的名称(大写)。
value:指定常量的值。(仅允许标量和 null。标量的类型是 整型, 浮点型,字符串型或者布尔型。 也能够定义常量值的类型为 资源(resource) ,但并不推荐这么做,可能会导致未知状况的发生。)
insensitive:指定常量名称是否区分大小写。如果设置为true则不区分大小写;如果设置为false则区分大小写。如果没有设置该参数,则取默认值false区分大小写。

=================================================================================

下面我们来看一个例子吧:

<?php
//定义一个大小写敏感的常量:
define("CONSTANT", "Hello world");
echo CONSTANT; // 输出:Hello world
echo Constant; // 报错 //定义一个大小写不敏感的常量:
define("GREETING", "Hello you", true);
echo GREETING; // 输出:Hello you
echo Greeting; // 输出:Hello you
?>

了解了这个例子,我们以后写常量还是直接用大写的好。

同时我们还要注意常量的打印:

1、当你要打印常量时,不能用引号括住常量,就像上面的例子一样;

2、使用连接运算符来打印常量

<?php
define("CONSTANT", "Hello world");
echo 'I say:' . CONSTANT;
?>

这里看过去常量是不是很简单,但是它的用法也有很多种,就比如最常用一个是:

定义一个常量,来判断页面之间的非法调用,具体一点就是我们做网页首页的时候,经常把首页分离出头部和脚部两个文件,这时候我们要防止有人非法操作,直接调用这2个文件,这时候我们就直接在这2个文件中分别加上这么一段代码

<?php
//防止恶意调用
if (!defined('CMS_DH')) {
exit('Access Defined!');
}
?>

在首页中加入下面的代码(首页要引入头部和脚部文件,具体的引入方法以后在说,有兴趣的可以自己百度谷歌php文件引入)

<?php
//定义个常量,用来授权调用头部和脚部2个文件
define('CMS_DH',true);
?>

以上只是一个小小的例子,以后会说,或是自己挖掘吧。

php入门常量的更多相关文章

  1. Python入门 常量 注释 基础数据类型 用户输入 流程控制

    Python入门 一.常量 在Python中,不像其他语言有绝对的常量,修改会报错,在Python中有个约定俗成的规定--常量就是将变量名大写. 尽量保持不更改的一种量 , 这个常量有是干什么的呢 其 ...

  2. 入门&常量&变量

    位:二进制中,每个0或1就是一个位,叫做bit(比特) 字节:计算机最小是存储单元(byte或B) 8bit = 1B 常用cmd命令: 启动: Win+R,输入cmd回车切换盘符 盘符名称:进入文件 ...

  3. Tensorflow机器学习入门——常量、变量、placeholder和基本运算

    一.这里列出了tensorflow的一些基本函数,比较全面:https://blog.csdn.net/M_Z_G_Y/article/details/80523834 二.这里是tensortflo ...

  4. Swift入门学习之一常量,变量和声明

    版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/6059421.html Swift入门学习之一常量,变量和 ...

  5. 151008-JS初级完成,PHP入门(变量常量等)-没假放了

    hi 今天是10月8号,你懂的,好困好困哒 上午搞定了JS的入门篇,真的是入门篇,基本都是JS做基本的输出.样式变化.惯例给出代码 <!DOCTYPE HTML><html>& ...

  6. 【JAVA零基础入门系列】Day4 变量与常量

    这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量. 那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存放数据,不同类型的数据需要放在对应类型的盒子里. ...

  7. 01-java前言、入门程序、变量、常量

    今日目标 能够计算二进制和十进制数之间的互转 能够使用常见的DOS命令 理解Java语言的跨平台实现原理 jvm是运行java程序的假想计算机,所有的java程序都运行在它上面.java编写的软件可以 ...

  8. day01_前言、入门程序、常量、变量

    day01_前言.入门程序.常量.变量 sysout :System.out.println(); Java 概述 本节主要内容: java 概述.常 DOS 命令.JRE.JDK 与 JVM.环境搭 ...

  9. 020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结

    020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结 本文知识点:变量与常量 知识总结 Java中的标识符 Java中的关键字 目前常 ...

随机推荐

  1. Balanced Lineup(最简单的线段树题目)

    Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 33389   Accepted: 15665 Case Time Limit ...

  2. cocos2d-x lua 调用onEnter和onExit

    cocos2d-x lua 调用onEnter和onExit version: cocos2d-x 3.6 onEnter和onExit在lua中不会因节点别add和remove而直接被调用,当子节点 ...

  3. Debian 7 安装 Python3.4

    Debian 7 自带的python是2.7.3,要用最新的3.4版本怎么办?我们从官网下载压缩包自己编译. 一.安装编译用的包 $ sudo apt-get install build-essent ...

  4. jQuery数组处理

    1. $.each(array, [callback]) 遍历[常用] 解释: 1.不同于例遍 jQuery 对象的 $().each() 方法,此方法可用于例遍任何对象(不仅仅是数组哦~). 2.回 ...

  5. [转]oracle EBS 基础100问

    from:http://www.cnblogs.com/xiaoL/p/3593691.html  http://f.dataguru.cn/thread-51057-1-1.html 1001 OR ...

  6. java笔记01-反射

    --2013年7月26日17:56:35 写文章之前,参考了这篇:http://www.cnblogs.com/Quincy/archive/2011/06/19/2084557.html 评价:这个 ...

  7. scope重定义

    .directive('myAttr', function() { return { restrict: 'E', scope: { customerInfo: '=info' }, template ...

  8. [BigData]关于Hadoop学习笔记第三天(PPT总结)(一)

     课程安排 MapReduce原理*** MapReduce执行过程** 数据类型与格式*** Writable接口与序列化机制*** ---------------------------加深拓展- ...

  9. 转:nginx 从入门到精通的博文

    转:http://tengine.taobao.org/book/ Nginx开发从入门到精通   缘起 nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众 ...

  10. No Dialect mapping for JDBC type: -1

    MySQL数据库中有张表的字段是text,查询出来后对应的java类型是String,Dialect设置为org.hibernate.dialect.MySQLDialect 运行的时候报错:No D ...