关于PHP常量的事项
目标读者
就像这篇文章一样。
定数的定义是什么?
确定的数字
「用于存放数据的容器」和「可命名」的特点与变量的作用相同。变量的一个重大区别是「不可重新赋值」。
使用固定数时与不使用固定数进行比较。
一旦定义了常量,可以在程序中重复使用。此外,这也方便增加维护性的优点。以下是比较不使用常量和使用常量两种情况下的代码对比。执行结果相同。
不使用常数的情况下。
<?php
print (100 * 1.1).'<br>';
print (200 * 1.1).'<br>';
print (300 * 1.1).'<br>';
/* 実行結果
110
220
330
*/
?>
-
- 1.1(消費税 10%)が、パッと見何の数値を表すのかがわからない(定数名が付いていない)
- もし消費税が変わった場合、1.1(消費税 10%)の所をすべて修正する必要がある(上の例では 3 箇所)
如果使用常数的情况下
<?php
const SALES_TAX = 1.1; // 消費税率が変わっても修正はこの行のみ
print (100 * SALES_TAX).'<br>';
print (200 * SALES_TAX).'<br>';
print (300 * SALES_TAX).'<br>';
/* 実行結果
110
220
330
*/
?>
-
- 定数 SALES_TAX(消費税 10%)を定義することで、数値の意味がわかりやすい
- 消費税が変わっても修正は 1 箇所で済む(メンテナンスがラク)
声明常量
第一种方法是使用常数。
<?php
const 定数名 = 値;
?>
第二种方法是定义一个函数。
<?php
define('定数名', 値);
?>
命名定数规则
-
- ($) は付けない
-
- 予約語は避ける
-
- 通例、大文字で命名する
- 定数として定義できる型は限定される
在给常量命名时,使用多个单词时,需要用下划线(_)进行分隔。
可以将可作为常量定义的类型限定为标量(包括布尔、整型、浮点型和字符串)和包含标量的数组。
自動的に定義される定数、マジック定数
PHP中存在着两种类型的常量:一种是“自动定义常量”,另一种是根据使用场景而变化的“魔术常量”。这些常量可以在不需要使用const进行声明的情况下直接使用。下表展示了主要的常量。
定数説明
__LINE__
実行中の行番号__FILE__
実行中のファイル名__DIR__
実行中のファイルが存在するディレクトリ名PHP_VERSION
PHP バージョンPHP_MAXPATHLEN
ファイル名の長さ (パスを含む) の最大値PHP_INT_MAX
整数型の最大値这是佐藤在他的本地开发环境中的执行结果,仅供参考。
<?php
print '__LINE__:'.__LINE__.'<br>';
print '__FILE__:'.__FILE__.'<br>';
print '__DIR__:'.__DIR__.'<br>';
print 'PHP_VERSION:'.PHP_VERSION.'<br>';
print 'PHP_MAXPATHLEN:'.PHP_MAXPATHLEN.'<br>';
print 'PHP_INT_MAX:'.PHP_INT_MAX.'<br>';
/* 実行結果
__LINE__:2
__FILE__:C:\パス\article3.php
__DIR__:C:\パス
PHP_VERSION:8.X.X
PHP_MAXPATHLEN:2048
PHP_INT_MAX:9223372036854775807(64 ビットの場合)
*/
?>
请参考以下网站
「自動設定的常量」,亦称「神奇常数」,除了之前介绍的之外,还存在许多其他常量。有关详细信息,请参阅以下网站。
-
- 自動的に定義される定数
- マジック定数