php程序员的笔记

  • 网站首页
  • PHP笔记
    • 字符串处理
    • php函数总结
    • 正则表达式
    • 模板框架使用
    • 我的网站模板笔记
    • Ecshop二次开发笔记
    • php源码下载
  • 数据库教程
    • MySQL数据库
    • MongoDB
    • Access数据库
    • Redis
  • JavaScript教程
    • Jquery基础
    • Jquery特效
    • JS常用函数
    • 开源插件开发
    • 谷歌地图开发
  • HTML教程
    • DIV+CSS技术篇
    • 网站优化笔记
    • HTML5 技术
  • 操作系统技巧
    • windows 7系统篇
    • Linux操作系统篇
    • 服务器
  • 互联网资讯
    • 生活杂侃
php程序员的笔记 -> PHP笔记 -> php函数总结 -> php const和define的区别(php类中如何定义常量)

php const和define的区别(php类中如何定义常量)

大家都知道define是定义常量的,如果在类中定义常量呢?当然不能用define,而用const,如下例:

<?php
//在类外面通常这样定义常量
define("PHP","phpernote.com");
class MyClass{
    //常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号
    const constant = 'constant value';
    function showConstant() {
        echo  self::constant;
    }
}
 
echo MyClass::constant;
 
$classname = "MyClass";
echo $classname::constant; // PHP 5.3.0之后
 
$class = new MyClass();
$class->showConstant();
echo $class::constant; // PHP 5.3.0之后

print_r(get_defined_constants()); //可以用get_defined_constants()获取所有定义的常量

一般是define在类外定义常量,const在类内定义常量,并且const必须通过类名::变量名来进行访问。但是php5.3以上支持类外通过const定义常量,看如下,这样是ok的:

const a = "abcdef";
echo a;

关于常量的基础知识,这里不说了,除了以上,define和const的其它区别(摘自网络):

1.const不能再条件语句中定义常量,但是define是可以的,如下:

if(1){
    const a = 'java';
}
echo a;  //必错

2.const采用一个普通的常量名称,define可以采用表达式作为名称

const  FOO = 'PHP';
for ($i = 0; $i < 32; ++$i) { 
    define('PHP_' . $i, 1 << $i); 
}

3.const只能接受静态的标量,而define可以采用任何表达式。

const PHP = 1 << 5;    // 错误
define('PHP', 1 << 5); // 正确 

4.const本身就是一个语言结构。而define是一个函数。所以使用const速度要快的多。

关于php中const和define的区别就总结这么多了。

您可能感兴趣的文章

  • 程序中通过define定义的常量如何在smarty模板中使用
  • thinkphp 的 Action 控制器中的系统常量总结
  • PHP中return 和 exit 、break和contiue 区别与用法
  • php 子类中如何调用父类的变量和方法
  • PHP中跳出多重循环使用break,continue,goto,return,exit的用法和区别
  • smarty模板中使用php函数以及smarty模板中如何对一个变量使用多个函数
  • php中$this、static、final、const、self 等几个关键字的用法
  • php如何判断一个常量是否已经定义
转载请注明出处:php程序员的笔记
本文永久地址:http://www.phpernote.com/php-function/1256.html
发布时间:2016 年 06 月 30 日 09 时 43 分 31 秒     文章来源:-わ千与千寻
上一篇:php如何知道一个类共有多少方法(包括继承的)
下一篇:php判断json格式是否正确和是否为json格式的方法
热门文章
  • PHP获取当前时间、时间戳方法大总结
  • php获取远程图片并下载保存到本地
  • php优化压缩的图片
  • php提取字符串中的数字
  • php购物车类
  • PHP判断浏览器类型
随机文章
  • php返回json数据中文显示不友好的问题的解决办法
  • PHP错误日志
  • 开启PHP的error_log排查线上(生产环境)遇到的错误
  • It is not safe to rely on the system's timezone settings....的解决办法
  • php使用pdo连接报错Connection failed SQLSTATE的解决方法
  • thinkphp更新数据库的五种方法
  • 周热门文章
    • php判断变量类型常用方法
    • php二维数组去掉重复值的方法总结
    • php获取客户端真实ip地址的三种方法
    • PHP获取当前服务器详细信息
    • php在数组中查找某个值是否存在(in_array(),array_search(),array_key_exists())
    • php模拟发送get请求
    • php提示Maximum execution time of 30 seconds exceeded...错误的解决办法
    • php解析url (parse_url) 参数成数组 (parse_str)
    • php获取本周和上周的开始日期和结束日期
    • PHP的Try, throw 和 catch简单用法

All rights reserved. Design by -わ千与千寻.  京ICP备16025782号-1网站地图  友情连接有话要说私人建站招募投稿  广告服务  互联网工具大全