php 定义常量define()与普通变量

1.定义常量define("constant", "hello world.");
常量只能包含标量数据(boolean,integer,float 和 string)。
调用常量时,只需要简单的用名称取得常量的值,而不能加“$”符号,如:echo constant;
注: 常量和(全局)变量在不同的名字空间中。这意味着例如 true 和 $true 是不同的。

定义和用法
define() 函数定义一个常量。

常量类似变量,不同之处在于:

在设定以后,常量的值无法更改
常量名不需要开头的美元符号 ($)
作用域不影响对常量的访问
常量值只能是字符串或数字
语法
define(name,value,case_insensitive)参数 描述
name 必需。规定常量的名称。
value 必需。规定常量的值。
case_insensitive 必需。规定常量的名称是否对大小写敏感。

若设置为 true,则对大小写不敏感。默认是 false(大小写敏感)。
 
例子
例子 1
定义一个大小写敏感的常量:

<?php教程
define("greeting","hello world!");
echo constant("greeting");
?>输出:

hello world!例子 2
定义一个大小写不敏感的常量:

<?php
define("greeting","hello world!",true);
echo constant("greeting");
?>输出:

hello world!

2.普通变量$a = "hello";

3.可变变量(使用两个美元符号($))
$$a = "world";
两个变量都被定义了:
$a 的内容是“hello”并且 $hello 的内容是“world”。
因此,可以表述为:
echo "$a ${$a}";或者 echo "$a $hello";它们都会输出:hello world
要将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下 $$a[1] 时,解析器需要知道是想要 $a[1] 作为一个变量呢,还是想要 $$a 作为一个变量并取出该变量中索引为 [1] 的值。解决此问题的语法是,对第一种情况用 ${$a[1]},对第二种情况用 ${$a}[1]。

 

时间: 2024-10-28 22:17:23

php 定义常量define()与普通变量的相关文章

深入分析php中const和define定义常量的区别

大家都知道define是定义常量的,如果在类中定义常量呢?当然不能用define,而用const,如下例:  代码如下 复制代码 <?php define('PHP', 'I love PHP'); // 在类外面通常这样定义常量 if (defined('PHP')) {     echo 'PHP is defined!'; }   class MyClass {     // 常量的值将始终保持不变.在定义和使用常量的时候不需要使用$符号     const CONSTANT = 'con

php 中 define 定义常量和单双引号问题

一.define定义常量问题        <?php   define('DATABASE', 'MYSQL');   define('DATABASE_USER', 'ROOT');   define('DATABASE_PASSWORD', 'PASSWORD');   ?>                直接使用"DATABASE"常量,代表的就是"MYSQL".                $arr = array('fruit'=>'

asp.net C#定义常量与变量详解

 常量也为这些值提供了一便于人们阅读的形式,但不同于枚举,常量只是单个值,而且如它们的名称所示,它们是固定的而且从不改变.在需要使用固定值的情况下这非常有用:使用常量意味着您可以为该值命名,并且在代码中使用该名称.该值只定义一次,因此便于修改,而且由于在代码中使用了便于阅读的名称,因此代码也变得更容易维护.     即使该值只使用一次,使用常量也是明智的,因为它们提供了一种方法将固定值的这种类型集中在一起.定义常量的语法如下所示:  代码如下 复制代码     Private Const Con

C#箴言:定义常量的两种方法

在C#中定义常量的方式有两种,一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant).前者用"const"来定义,后者用"readonly"来定义. 对于静态常量(Compile-time constant),它的书写方式如下: public const int MAX_VALUE = 10; 为什么称它为静态常量呢,因为如上声明可以按照如下理解(注意:如下书写是错误的,会出编译错误,这里只是为了方便说

拔高你的Java代码质量吧:推荐使用枚举定义常量(转)

提高你的Java代码质量吧:推荐使用枚举定义常量 一.分析  常量的声明是每一个项目中不可或缺的,在Java1.5之前,我们只有两种方式的声明:类常量和接口常量.不过,在1.5版之后有了改进,即新增了一种常量声明方式,枚举常量.代码如下:    enum Season{ Spring,Summer,Autumn,Winter; }   二.场景  那么枚举常量与我们的经常使用的类常量和静态常量比有什么优势呢?  1.枚举常量更简单  先把Season枚举翻译成接口,代码如下:    interf

Java基础-02总结关键字,标识符,注释,常量进制,变量数据类型

你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:关键字(掌握) (1)被Java语言赋予特定含义的单词(2)特点:全部小写.(3)注意事项:A:goto和const作为保留字存在.B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记 /*关键

C# 定义常量 两种实现方法_实用技巧

在C#中定义常量的方式有两种,一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant).前者用"const"来定义,后者用"readonly"来定义. 对于静态常量(Compile-time constant),它的书写方式如下: public const int MAX_VALUE = 10; 为什么称它为静态常量呢,因为如上声明可以按照如下理解(注意:如下书写是错误的,会出编译错误,这里只是为了方便说

ios-根据设备类型定义常量(iPad/iPhone)

问题描述 根据设备类型定义常量(iPad/iPhone) 在工程中的文件定义常量. 我知道通常定义方法是: const CGSize kSize = { 46.f, 44.f }; 但是我希望能实现: if device type iPad const CGSize kSize = { 146.f, 144.f }; else const CGSize kSize = { 46.f, 44.f }; 不知道应该怎么实现?谢谢帮忙. 解决方案 应用程序没运行时你是无法知道运行在什么设备上的 所以只

指针-如何定义图中的这个变量?

问题描述 如何定义图中的这个变量? p++ 可以移动到下一个字符串. 105 解决方案 可以使用指针数组(指针数组中的每一个元素均为指针) #include<stdio.h> void main() { char *arr[3] = {"abcde", "1234", "42"}; char **p = &arr[0]; for(int i = 0; i < 3; i++, p++) printf("%s &q