PHP中如何定义和使用常量
1.自定义常量
* 必须用函数define()定义
* 定义完后其值不能再改变了
* 使用时直接用常量名,不能像变量一样在前面加$s
例如:define("PI",3.14);定义一个常量
$area = PI*R*R; 计算圆的面积
define("URL","http://www.jb51.net");
echo "我的网址是:".URL;
2 系统常量:
FILE :php程序文件名
LINE :PHP程序文件行数
PHP_VERSION:当前解析器的版本号
PHP_OS:执行当前PHP版本的操作系统名称
可以直接拿来使用,例如要查看执行当前PHP版本的操作系统名称,就可以写成 echo PHP_OS
php定义和使用一个类常量
php类常量
我们可以在类中定义常量。常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号。
常量的值必须是一个定值,不能是变量,类属性或其它操作(如函数调用)的结果。
Its also possible for interfaces to have constants. Look at the interface documentation for examples. 接口(interface)中也可以定义常量。请查看接口的文档获得更多示例。
PHP5.3.0之后,我们可以用一个变量来动态调用类。但该变量的值不能为关键字self, parent 或static。
<?php
class MyClass
{
const constant = ‘constant value';
function showConstant() {
echo self::constant . “\n”;
}
}
echo MyClass::constant . “\n”;
$classname = “MyClass”;
echo $classname::constant . “\n”; // PHP 5.3.0之后
$class = new MyClass();
$class->showConstant();
echo $class::constant.”\n”; // PHP 5.3.0之后
?>
Example #2 静态数据示例
<?php
class foo {
// PHP 5.3.0之后
const bar = <<<'EOT'
bar
EOT;
}
?>
相关推荐
-
php 静态变量与自定义常量的使用方法
⚑ 静态变量的声明与使用 ⚑ 自定义常量的使用方式 什么是静态变量? 静态变量是指用static声明的变量,这种变量与局部变量的区别是,当静态变量离开了它的作用范围后,它的值不会自动消亡,而是继续存在,当下次再用到它的时候,可以保留最近一次的值. 下面举例: 复制代码 代码如下: <?php function add() { static $i=0; $i++; echo $i; } add(); echo " "; add(); ?> 这段程序中,主要定义了一个函数add
-
PHP 判断常量,变量和函数是否存在
复制代码 代码如下: if (defined('CONST_NAME')) { //do something } 变量检测则是使用isset,注意变量未声明或声明时赋值为NULL,isset均返回FALSE,如: 复制代码 代码如下: if (isset($var_name)) { //do something} 函数检测用function_exists,注意待检测的函数名也需要使用引号,如: 复制代码 代码如下: if (function_exists('fun_name')) {
-
PHP 中常量的知识整理
PHP中的常量分为自定义常量和系统常量 常量特点: 在设定以后,常量的值无法更改 常量名不需要开头的美元符号 ($) 作用域不影响对常量的访问 常量值只能是字符串或数字 获取常量的值: 使用常量名直接获取值: 使用 ==constant()== 函数,它和直接使用常量名输出的效果是一样的,但函数可以动态的输出不同的常量,在使用上要灵活.方便. defined() 函数:判断一个常量是否已经定义 define("PI",3.14); $is1 = defined('PI'); $is2
-
PHP 的 __FILE__ 常量
今天碰到了PHP的常量__FILE__的问题了. 在网上查了一下.总结了以下规律. dirname(__FILE___) 函数返回的是脚本所在在的路径. 比如文件 b.php 包含如下内容: <?php $basedir = dirname(__FILE__); ?> 如果b.php被其他目录里的a.php文件require 或者 include 去引用的话. 变量$basedir 的内容还是b.php所在的那个文件夹的路径. 而不是变成a.php文件所在的目录. dirname(__FILE
-
php中常量DIRECTORY_SEPARATOR用法深入分析
本文实例讲述了php中常量DIRECTORY_SEPARATOR用法.分享给大家供大家参考.具体如下: DIRECTORY_SEPARATOR在php是什么意思呢,在什么时候使用DIRECTORY_SEPARATOR最合理呢?下面来给各位介绍一下php DIRECTORY_SEPARATOR常量. 我们知道DIRECTORY_SEPARATOR是一个PHP常量,代表反斜杠,因为windows系统和linux系统的反斜杠不一样.在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符,
-
thinkphp中常用的系统常量和系统变量
----------------------------------------模板中使用的系统变量和常量----------------------------------------(1)系统变量:在模板中输出系统变量:包括server.env.session.post.get.request.cookie {$Think.server.script_name} // 输出$_SERVER变量{$Think.session.session_id|md5} // 输出$_SESSIO
-
PHP 得到根目录的 __FILE__ 常量
1.PHP 的 __FILE__ 常量(如何得到根目录) dirname(__FILE___) 函数返回的是脚本所在在的路径. 比如文件 b.php 包含如下内容: $basedir = dirname(__FILE__); ?> 如果b.php被其他目录里的a.php文件require 或者 include 去引用的话. 变量$basedir 的内容还是b.php所在的那个文件夹的路径. 而不是变成a.php文件所在的目录. dirname(__FILE__) 一般会返回文件所的当前目录到系统
-
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
为什么要谨慎使用PHP中的常量? Zend Framework文档中写道:常量包含数字字母字符和下划线,数字允许作为常量名. 常量名的所有字母必须大写.类常量必须通过 "const" 定义为类的成员,强烈不鼓励使用 "define" 定义的全局常量. 作为PHP的官方框架,为什么会有这样的要求? 让我们一起分析一下吧. 1. define容易产生意想不到的错误 PHP常量是定义后就不能修改和再次赋值.但是如果再次赋值会怎么样? <?php define('C'
-
PHP中如何定义和使用常量
1.自定义常量 * 必须用函数define()定义 * 定义完后其值不能再改变了 * 使用时直接用常量名,不能像变量一样在前面加$s 例如:define("PI",3.14);定义一个常量 $area = PI*R*R; 计算圆的面积 define("URL","http://www.jb51.net"); echo "我的网址是:".URL; 2 系统常量: FILE :php程序文件名
-
Vue中定义全局变量与常量的各种方式详解
前言 本文主要跟大家介绍了关于Vue定义全局变量与常量的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 我想要定义一个变量, 在项目的任何地方都可以访问到, 不需要每一次使用的时候, 都引入. 尝试1: 创建 global.js 并且在其中定义 let a = 10; 在入口文件中引入 global.js import './global.js' 在项目中使用: a // 报错 发现报错了, a 并没有定义. 为什么? 这个涉及到模块作用域: 1 每一个 js 都相当于
-
php中各种定义变量的方法小结
1.定义常量define("CONSTANT", "Hello world."); 常量只能包含标量数据(boolean,integer,float 和 string). 调用常量时,只需要简单的用名称取得常量的值,而不能加"$"符号,如:echo CONSTANT: 注: 常量和(全局)变量在不同的名字空间中.这意味着例如 TRUE 和 $TRUE 是不同的. 2.普通变量$a = "hello"; 3.可变变量(使用两个美
-
ES6 let和const定义变量与常量的应用实例分析
本文实例讲述了ES6 let和const定义变量与常量的应用.分享给大家供大家参考,具体如下: 关于 let let是小作用域的变量的声明 { var a = 12; let b = 15; { console.log(a); // 12 console.log(b); // 15 } } let 是块级作用域,不会被提升:var是函数级的变量,存在变量提升,外部可访问 console.log(a); // Uncaught ReferenceError: a is not defined,直接
-
详解PHP中的8个魔术常量
PHP 向它运行的任何脚本提供了大量的预定义常量. 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常量它们的值随着它们在代码中的位置改变而改变. 例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定.这些特殊的常量不区分大小写,如下: __LINE__ 文件中的当前行号. <?php echo '这是第 " ' . __LINE__ . ' " 行'; ?> 以上实例输出结果为: 这是
-
详细聊聊JDK中的反模式接口常量
目录 前言 常量接口 类接口 枚举类型 结束语 前言 在实际开发过程中,经常会需要定义一个文件,用于存储一些常量,这些常量设计为静态公共常量(使用 public static final 修饰).这个时候就出现两种选择: 在接口中定义常量,比如 JDK 1.1 中的 java.io.ObjectStreamConstans 接口: 在类中定义常量,比如 JDK 1.7 中的 java.nio.charset.StandardCharsets: 这两种方式都能够达到要求:存储常量.无需实例化.下面
-
nodejs中模块定义实例详解
本文实例讲述了nodejs中模块定义方法.分享给大家供大家参考,具体如下: 1.模块定义 nodejs所谓的模块就是一个文件!一个.js文件就是一个nodejs的模块,模块与文件是一一对应的,那么引用模块就是require('文件路径'). 如: var circle = require('./circle.js'); console.log( 'The area of a circle of radius 4 is ' + circle.area(4)); 这个取名为foo.js var PI
-
Android中shape定义控件的使用
Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结: 先看下面的代码: <shape> <!-- 实心 --> <solid android:color="#ff9d77"/> <!-- 渐变 --> <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF
-
Vue 中可以定义组件模版的几种方式
前端组件化开发已经是一个老生常谈的话题了,组件化让我们的开发效率以及维护成本带来了质的提升. 当然因为现在的系统越来越复杂庞大,所以开发与维护成本就变得必须要考虑的问题,因此滋生出了目前的三大前端框架 Vue.Angular.React. 那今天我们就来看看 Vue 中有哪些定义组件模版的方式以及他们之间的一些差别. 字符串形式 Vue 最简单直接的一种定义组件模版的方式,但是方式写起来很不友好,就像我们以前拼接 HTML 元素是一样的,很痛苦,所以我们并不常用 Vue.component("m
-
java9开始——接口中可以定义private私有方法
在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开始,Interface 接口中允许定义私有方法和私有静态方法.下面我们就来为大家介绍其语法规则,和为什么要有这样的设计. 其实在Java 8之前,还有另一个被广为人之的知识点:接口中所有的方法必须是abstract 抽象方法.但是,从java 8开始接口中可以包含非abstract 方法,如下文中的
随机推荐
- javascript 闭包详解
- 为Java程序员准备的10分钟Perl教程
- jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
- 详解Angular 自定义结构指令
- 实现Java删除一个集合的多个元素
- JAVA实现数字大写金额转换的方法
- 静态gb2312编码在项目传值出现中文乱码现象
- php printf输出格式使用说明
- PHP Pear 安装及使用
- mysql为字段添加和删除唯一性索引(unique) 的方法
- Docker 修改文件是否需要重启(命令详解)
- 零基础写python爬虫之抓取百度贴吧代码分享
- 基于jquery的划词搜索实现(备忘)
- 关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
- linux通过挂载系统光盘搭建本地yum仓库的方法
- linux查看cpu是否支持64位的方法
- C# WinForm中Panel实现用鼠标操作滚动条的实例方法
- C#实现根据字节数截取字符串并加上省略号的方法
- PHP 闭包详解及实例代码
- Android音频系统AudioTrack使用方法详解