PHP常量
PHP常量 PHP常量是名称或标识符,在脚本执行期间不能更改,魔术常量除外,魔术常量不是真正的常量。PHP常量…
PHP常量
PHP常量是名称或标识符,在脚本执行期间不能更改,魔术常量除外,魔术常量不是真正的常量。PHP常量可以通过两种方式定义:
- 使用define() 函数
- 使用const关键字
常量与变量相似,只不过一旦定义,就永远不能取消定义或更改它们,传统上常量标识符总是大写的。常量名和其它任何 PHP 标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。用正则表达式是这样表达的: ^[a-zA-Z_x80-xff][a-zA-Z0-9_x80-xff]*$
。
注意:与变量不同,常量在整个脚本中都是自动全局的。
PHP常数:define()
使用define()函数创建一个常量。它在运行时定义常量。让我们看看PHP中define()函数的语法。
1
|
define(name, value, case–insensitive)
|
- name:指定常量名称。
- value:指定常数。
- 不区分大小写:指定常量是否不区分大小写。默认值为false。这意味着默认情况下区分大小写。
让我们看一下使用define()定义PHP常量的示例。
文件:constant1.php
1
2
3
4
|
<?php
define(“MESSAGE”,“Hello JavaTpoint PHP”);
echo MESSAGE;
?>
|
输出:
1
|
Hello JavaTpoint PHP
|
创建一个不区分大小写的名称常量:
文件:constant2.php
1
2
3
4
5
|
<?php
define(“MESSAGE”,“Hello JavaTpoint PHP”,true);//not case sensitive
echo MESSAGE, “</br>”;
echo message;
?>
|
输出:
1
2
|
Hello JavaTpoint PHP
Hello JavaTpoint PHP
|
文件:constant3.php
1
2
3
4
5
|
<?php
define(“MESSAGE”,“Hello JavaTpoint PHP”,false);//case sensitive
echo MESSAGE;
echo message;
?>
|
输出:
1
2
3
4
|
Hello JavaTpoint PHP
Notice: Use of undefined constant message – assumed ‘message’
in C:wampwwwvconstant3.php on line 4
message
|
PHP常数:const关键字
PHP引入了关键字const来创建常量。const关键字在编译时定义常量。它是一种语言构造,而不是一种函数。使用const关键字定义的常量区分大小写。
文件:constant4.php
1
2
3
4
|
<?php
const MESSAGE=“Hello const by JavaTpoint PHP”;
echo MESSAGE;
?>
|
输出:
1
|
Hello const by JavaTpoint PHP
|
Constant() 函数(不推荐)
还有一种使用constant()函数而不是echo语句来打印常量值的方法。
句法
以下常量函数的语法:
1
|
constant (name)
|
文件:constant5.php
1
2
3
4
5
6
|
<?php
define(“MSG”, “JavaTpoint”);
echo MSG, “</br>”;
echo constant(“MSG”);
//both are similar
?>
|
输出:
1
2
|
JavaTpoint
JavaTpoint
|
常量与变量
常量(Constant) | 变量(Variables) |
---|---|
一旦定义了常量,就永远不能重新定义它。 | 变量可以是未定义的,也可以很容易地重新定义。 |
只能使用define()函数定义常量。 不能通过任何简单的分配来定义它。 | 可以通过简单赋值(=)运算符定义变量。 |
在分配过程中,在常量之前不需要使用美元($)符号。 | 要声明变量,请始终在变量前使用美元($)符号。 |
常量不遵循任何变量作用域规则,可以在任何地方定义和访问常量。 | 变量可以在程序中的任何位置声明,但是它们遵循变量作用域规则。 |
常量是在整个程序中其值无法更改的变量。 | 变量的值可以更改。 |
默认情况下,常量是全局的。 | 变量可以是局部,全局或静态。 |
类别:PHP 技巧、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!