スキップしてメイン コンテンツに移動

PHPのエラーレベル定数からエラー文字列を返すコード

PHPで定義されているエラー定数(int値)からエラー定数の文字列を返すコードです。
PHPのライブラリで定義されている情報だけで、キーが「エラー定数のint値 」値が「エラー文字列」となる連想配列を生成しています。

// 定義済みの定数を取得
$allConstants = get_defined_constants(true);  

// "Core"カテゴリに入っていて"E_"から始まる定数のみ取得
$errorConstants = array_filter(  
  $allConstants["Core"],
  fn($key) => strncmp($key, "E_", 2) === 0,  
  ARRAY_FILTER_USE_KEY);  
  
// エラー定数のint値 -> エラー文字列になるように連想配列を逆転
$errorCodeToString = array_flip($errorConstants);  

// 使い方の例
echo $errorCodeToString[E_COMPILE_ERROR];

コメント