Amazonランキング大賞2018

定数

定数の定義 const

const GRAVITY = 9.8;

大文字、小文字は区別される。
慣例として全て大文字が使用されている。
変数と違い$は不要。
constで定義した定数はグローバル定数となる。
関数内やif文の中などローカルスコープ内では定義できない。

echo "重力加速度=", GRAVITY;  //出力 = 重力加速度=9.8

配列も書ける
const MEMBER = array("田中", "佐藤", "鈴木");
echo MEMBER[1]; //佐藤

定数の定義 define()

define(定数名, 値, 大文字小文字の区別);

デフォルトでは大文字、小文字の区別はfalse = 区別する、になっている。
const同様、グローバルスコープである。

define('GRAVITY', 9.8);

配列も書ける
define("MEMBER", array("田中", "佐藤", "鈴木"));
define("MEMBER", ["田中", "佐藤", "鈴木"]);
echo MEMBER[1]; //佐藤

定義済みの定数

利用頻度が高そうなもの

  • PHP_VERSION
    現在のPHPのバージョンを文字列で表したもの
  • PHP_VERSION_ID
    現在のPHPのバージョンを整数値で表したもの
  • PHP_EOL
    このプラットフォームの行末文字(改行コード)
  • PHP_INT_MAX
    整数型の最大値
  • PHP_INT_MIN
    整数型の最小値
  • PHP_INT_SIZE
    このPHPビルドにおける整数型のバイトサイズ

 

他の定義済みの定数はこちら

参考 定義済みの定数PHP.net

マジック定数

  • __LINE__
    ファイル上の現在の行番号。
  • __FILE__
    ファイルのフルパスとファイル名。
  • __DIR__
    そのファイルの存在するディレクトリ。
  • __FUNCTION__
    関数名。
  • __CLASS__
  • クラス名。 クラス名には、そのクラスが宣言されている名前空間も含みます (例 Foo\Bar)。 トレイトのメソッド内で __CLASS__ を使うと、そのトレイトを use しているクラスの名前を返します。
  • __TRAIT__
    トレイト名 トレイト名には、宣言された名前空間も含みます (例 Foo\Bar)。
  • __METHOD__
    クラスのメソッド名。
  • __NAMESPACE__
    現在の名前空間の名前。
参考 マジック定数PHP.net