我们来看下直接的例子

<?php
//定义常量
//常量不可被删除
//常量一旦被定义,就无法重新置换
//常量一旦定义,就不能对他第二次定义,否则会报错!
define('MYCONSTANT','值'); /* 判断常量是否存在*/
if (defined('MYCONSTANT')) {
echo MYCONSTANT;
}
//判断变量是否存在
if (isset($myvar)) {
echo "存在变量$myvar.";
}
//判断函数是否存在
if (function_exists('imap_open')) {
echo "存在函数imag_open/n";
} else {
echo "函数imag_open不存在/n";
}
?>

声明常量

如何需要设置常量,可以使用define(constantName, constantValue, isCase)函数,它使用三个参数:

  • 第一个参数定义常量的名称
  • 第二个参数定义常量的值
  • 第三个参数是可选的,规定常量名是否对大小写敏感。默认是false。
 
define(KEYWORD, '我的技术博客');
echoKEYWORD;
 

系统常量

  1. __FILE__ 当前PHP文件的相对路径
  2. __LINE__ 当前PHP文件中所在的行号
  3. __FUNCTION__ 当前函数名,只对函数内调用起作用
  4. __CLASS__ 当前类名,只对类起作用
  5. PHP_VERSION 当前使用的PHP版本号
  6. PHP_OS 当前PHP环境的运行操作系统
  7. TRUE 与true一样
  8. FALSE 与false一样
  9. M_PI 圆周率常量值
  10. M_E 科学常数e
  11. M_LOG2E 代表log2

    e,以2为底e的对数

  12. M_LOG10E 代表lg

    e,以10为底e的对数

  13. M_LN2 2的自然对数
  14. M_LN10 10的自然对数
  15. E_ERROR 最近的错误之处
  16. E_WARNING 最近的警告之处
  17. E_PARSE 剖析语法有潜在问题之处
  18. __METHOD__ 表示类方法名,比如B::test

服务器全局变量

  1. $_SERVER 返回服务器相关信息,返回一个数组
  2. $_GET 所有GET请求过来的参数
  3. $_POST 所有POST过来的参数
  4. $_COOKIE 所有HTTP提交过来的cookie
  5. $_FILES 所有HTTP提交过来的文件
  6. $_ENV 当前的执行环境信息
  7. $_REQUEST 相当于$_POST、$_GET、$_COOKIE提交过来的数据,因此这个变量不值得信任
  8. $_SESSION session会话变量

php 常量的使用的更多相关文章

  1. C++11特性——变量部分(using类型别名、constexpr常量表达式、auto类型推断、nullptr空指针等)

    #include <iostream> using namespace std; int main() { using cullptr = const unsigned long long ...

  2. JavaScript 常量定义

    相信同学们在看见这个标题的时候就一脸懵逼了,什么?JS能常量定义?别逗我好吗?确切的说,JS当中确实没有常量(ES6中好像有了常量定义的关键字),但是深入一下我们可以发现JS很多不为人知的性质,好好利 ...

  3. ES6之变量常量字符串数值

    ECMAScript 6 是 JavaScript 语言的最新一代标准,当前标准已于 2015 年 6 月正式发布,故又称 ECMAScript 2015. ES6对数据类型进行了一些扩展 在js中使 ...

  4. Java常量的应用

    所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变. 语法:final 常量名 = 值; 使用fianl关键字 常量名 值 final String a1 = &qu ...

  5. 原创 C++之常量(二)

    4常量的内存分配 4.1应用程序的内存结构 一个由C++编译的应用程序,占用的内存可以划分为如下几个部分: 栈(stack).由编译器自动分配释放.存放函数参数和函数里的局部变量(又称自动变量).其操 ...

  6. 原创 C++之常量(一)

    1概述 一个C++程序就是一系列数据与操作的集合.当一个C++程序开始运行的时候,与该程序相关的数据就会被加载到内存中.当数据与内存发生关联的时候,这些数据就会具有如下的特性: 数据在内存中的地址.这 ...

  7. 1.2 - C#语言习惯 - 用运行时常量readonly而不是编译期常量const

    C#中有两种类型的常量:编译期常量和运行时常量.二者有着截然不同的行为,使用不当将会带来性能上或正确性上的问题. 这两个问题最好都不要发生,不过若难以同时避免的话,那么一个略微慢一些但能保证正确的程序 ...

  8. swift 简介和常量与变量 --- swift 入门

    一.思维导图 二. 代码 //创建UIView 和按钮 let views = UIView(frame: CGRect(x:20, y: 20, width: 100, height: 100))/ ...

  9. java为什么非静态内部类中不能有static修饰的属性,但却可以有常量?

    如:public class InnerClassDemo{int x;class A{static int a = 0;//这样写是不合法的.static final int b=0;//这样写是合 ...

  10. String字符串针对常量池的优化

    String对象是java语言中重要的数据类型,但是不是基本数据类型.相对于c语言的char java做了一些封装和延伸. 针对常量池的优化:当两个String拥有相同的值时,它们只引用常量池中的同一 ...

随机推荐

  1. Spring中的设计模式:模板模式

    导读 模板模式在是Spring底层被广泛的应用,比如事务管理器的实现,JDBC模板的实现. 文章首发于作者的微信公众号[码猿技术专栏] 今天就来谈谈「什么是模板模式」.「模板模式的优缺点」.「模板模式 ...

  2. Java的浅拷贝与深拷贝总结

    Java中的对象拷贝(Object Copy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去.举例说明:比如,对象A和对象B都属于类S,具有属性a和b.那么对对象A进行拷贝 ...

  3. STM32CubeMX的使用

    1.STM32CubeMX简介 STM32CubeMx软件是ST公司为STM32系列单片机快速建立工程,并快速初始化使用到的外设.GPIO等,大大缩短了我们的开发时间.同时,软件不仅能配置STM32外 ...

  4. 201771010108韩腊梅《面向对象程序设计(java)》第一周学习总结

    第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com 木子林 程序设计评测:https://pintia.cn/ 19362039991@q ...

  5. 根据银行卡号 获取银行名称及银行logo

    根据银行卡号码获取银行卡归属地信息接口地址: https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8 ...

  6. javascript入门 之 bind()

    <!DOCTYPE html> <HTML> <HEAD> <meta http-equiv="content-type" content ...

  7. Array(数组)对象-->数组的删除

    1.数组的删除: 用delete操作符删除特定的元素 删除元素的位置只是被留空了,为undefined值 举例:删除下面数组中的第二个元素 var arr = [1,2,3,4,5]; /*删除第二个 ...

  8. C语言实现双向链表

    目前我们所学到的链表,无论是动态链表还是静态链表,表中各节点中都只包含一个指针(游标),且都统一指向直接后继节点,通常称这类链表为单向链表(或单链表). 虽然使用单链表能 100% 解决逻辑关系为 & ...

  9. Highcharts图表库

    Highcharts图表库 1.相关网址: 1)官方主页:https://www.hcharts.cn/ 2)Highcharts演示:https://www.hcharts.cn/demo/high ...

  10. "强调内容"组件:<em> —— 快应用组件库H-UI

     <import name="em" src="../Common/ui/h-ui/text/c_tag_i"></import> & ...