PHP7における定数配列の定義方法を徹底解説
PHPでは、配列を定数として扱うことができます。本記事では、PHPのバージョンによる定数配列の定義方法の違いと、具体的な使用例について詳しく解説します。
PHP 5.6での定数配列の初期化
PHP 5.6では、constキーワードを使用することでしか、定数配列を初期化できませんでした。以下のように記述します。
const STUDENT_ROLLNOS = [11, 12, 13, 14, 15];
このように、constキーワードに続けて定数名と配列を指定することで、値が変更されない固定の配列を作成できます。
PHP 7での定数配列の初期化
PHP 7からは、define()関数を使って定数配列を初期化できるようになりました。これにより、より柔軟な場面(条件分岐の中など)でも定数配列を定義できるようになっています。
define('SUBJECTS', ['Computer', 'operating system', 'networking', 'PHP 7', 'software engineering']);
ここでは、SUBJECTSが定数配列の名前であり、その要素として「Computer」「operating system」「networking」「PHP 7」「software engineering」の5つの科目名が格納されています。
定数配列のインデックスは、通常の配列と同様に0から始まります。したがって、「Computer」はインデックス0、「operating system」はインデックス1に配置され、以降も順番に続きます。
PHP 7 定数配列の実装例
それでは、constキーワードとdefine()関数の両方を使った実際のコード例を見てみましょう。
<?php
const STUDENT_ROLLNOS = [11, 12, 13, 14, 15];
define('SUBJECTS', ['Computer', 'operating system', 'networking', 'PHP 7', 'software engineering']);
print_r(STUDENT_ROLLNOS);
print_r(SUBJECTS);
?>
出力結果
上記のPHP 7プログラムを実行すると、以下のような出力が得られます。
Array
(
[0] => 11
[1] => 12
[2] => 13
[3] => 14
[4] => 15
)
Array
(
[0] => Computer
[1] => operating system
[2] => networking
[3] => PHP 7
[4] => software engineering
)
コードの解説
上記の例では、まずconstキーワードを使用して学生の出席番号(STUDENT_ROLLNOS)を定数配列として宣言しています。次に、define()関数を使用して科目名(SUBJECTS)という定数配列を宣言し、変更できない5つの科目名を格納しました。
print_r()関数によって両方の配列の内容が出力されており、どちらの方法でも正しく定数配列が作成されていることが確認できます。一度定義された定数配列の値は、スクリプトの実行中に変更することができないため、設定値や固定データの管理に非常に便利です。
-
PHPのFILTER_VALIDATE_FLOAT定数の使い方を解説
FILTER_VALIDATE_FLOATは、PHPのfilter拡張モジュールで提供される定数の一つで、指定した値が有効な浮動小数点数(float)であるかどうかを検証するために使用します。主にfilter_var()関数と組み合わせて使われます。 基本的な使い方 filter_var()関数の第2引数にFILTER_VALIDATE_FLOATを渡すことで、値が浮動小数点数として妥当かどうかをチェックできます。検証が成功した場合はfloat型の値が返され、失敗した場合はfalseが返されます。 戻り値 検証に成功した場合:float型の値検証に失敗した場合:false 使用例 <?p
-
PHPのFILTER_VALIDATE_BOOLEAN定数とは?使い方と戻り値をわかりやすく解説
PHPには、外部からの入力値を安全に検証するためのフィルター関数が多数用意されています。その中でもFILTER_VALIDATE_BOOLEANは、渡された値をブール値(真偽値)として評価するための定数です。filter_var()関数と組み合わせて使用することで、文字列が「真」を表す値なのか「偽」を表す値なのかを簡単に判定できます。 基本的な使い方 FILTER_VALIDATE_BOOLEANは、filter_var()関数の第2引数に指定して使用します。 <?php $var = on; var_dump(filter_var($var, FILTER_VALID