define和const的区别 转载 php程序员笔记
来源:互联网 发布:linux clock_gettime 编辑:程序博客网 时间:2024/05/17 02:04
大家都知道define是定义常量的,如果在类中定义常量呢?当然不能用define,而用const,如下例:
01
<?php
02
//在类外面通常这样定义常量
03
define(
"PHP"
,
"phpernote.com"
);
04
class
MyClass{
05
//常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号
06
const
constant =
'constant value'
;
07
function
showConstant() {
08
echo
self::constant;
09
}
10
}
11
12
echo
MyClass::constant;
13
14
$classname
=
"MyClass"
;
15
echo
$classname
::constant;
// PHP 5.3.0之后
16
17
$class
=
new
MyClass();
18
$class
->showConstant();
19
echo
$class
::constant;
// PHP 5.3.0之后
20
21
print_r(get_defined_constants());
//可以用get_defined_constants()获取所有定义的常量
一般是define在类外定义常量,const在类内定义常量,并且const必须通过类名::变量名来进行访问。但是php5.3以上支持类外通过const定义常量,看如下,这样是ok的:
1
const
a =
"abcdef"
;
2
echo
a;
关于常量的基础知识,这里不说了,除了以上,define和const的其它区别(摘自网络):
1.const不能再条件语句中定义常量,但是define是可以的,如下:
1
if
(1){
2
const
a =
'java'
;
3
}
4
echo
a;
//必错
2.const采用一个普通的常量名称,define可以采用表达式作为名称
1
const
FOO =
'PHP'
;
2
for
(
$i
= 0;
$i
< 32; ++
$i
) {
3
define(
'PHP_'
.
$i
, 1 <<
$i
);
4
}
3.const只能接受静态的标量,而define可以采用任何表达式。
1
const
PHP = 1 << 5;
// 错误
2
define(
'PHP'
, 1 << 5);
// 正确
4.const本身就是一个语言结构。而define是一个函数。所以使用const速度要快的多。
关于php中const和define的区别就总结这么多了。
1 0
- define和const的区别 转载 php程序员笔记
- PHP:const和define的区别
- php const和define的区别
- php const和define的区别
- php中const和define的区别
- php中define和const 的区别
- const和define的区别
- #define和const的区别
- #define和const的区别
- const和define的区别
- const 和define的区别
- const 和define的区别
- const 和 define 的区别
- const和#define的区别
- const和#define的区别
- const和define的区别
- const和#define的区别
- #define和const的区别
- Mybatis的if test字符串比较问题,mapper用等于又要用>比较<比较解决冲突
- c++中const的使用
- ARM获得PC指针为何PC=PC+8
- 捕获异常、存sd卡、封装请求头体、加密map值、网络工具类、生成Json、Https协议、传log日志到服务器、app崩溃友好重启
- iOS面试题
- define和const的区别 转载 php程序员笔记
- 与女生交谈3张神图
- 服务器芯片组
- Selenium之滚动条上下滚动
- java 实现跳跃表
- android selinux 积累
- 和程序员打交道的十大禁忌
- java在数字前面自动补零的方法
- 12563 - Jin Ge Jin Qu hao