PHPのdefine()で配列データの定義と利用方法について
他社が作成したPHPのソースコードを拝見した際に定数で配列が定義されていた。配列は定義できなかった筈では? と思って調べたところPHP7から定義できるようになっていたみたい。以下に定義方法と利用(出力)方法をメモ。
define
リファレンス
https://www.php.net/manual/ja/function.define.php
value
こちらに書かれている通りPHP7から配列を使えるようになった模様。
使い方
配列の定義
<?php
define('TEST_ARRAY', array(
    0 => array(
        'name' => '鈴木',
        'age' => 20,
    ),
    1 => array(
        'name' => '山田',
        'age' => 30,
    ),
));
利用(出力)方法
<?php
var_dump(TEST_ARRAY[0]['name']);
foreach( TEST_ARRAY as $key => $val ){
    var_dump($val);
}
上記ソースコードを実行すると以下内容が出力される筈。
string(6) "鈴木"
array(2) {
  ["name"]=>
  string(6) "鈴木"
  ["age"]=>
  int(20)
}
array(2) {
  ["name"]=>
  string(6) "山田"
  ["age"]=>
  int(30)
}
所感
設定ファイルとかで基本的には定数を、配列データのみ普通の変数で定義していたけど今後は全部定数で対応できるのが嬉しい。
一応PHP7以上という制限はあるものの、こちらのサイトによるとPHP7 / 8の利用率が合計で83.3%となっているので問題無さそう。
関連記事
- 
					
													  
- 
					PHPで変数名を動的に変えて使う方法変数名を動的に変えて使用したかった。 調べてみると可変変数というものがあり、希望 ... 
- 
					
													  
- 
					ブラウザから動画ファイル名を確認できないようにPHPで動画を出力する方法Webページ上で動画ファイルを再生したい場合、通常だとブラウザのソースコード上に ... 
- 
					
													  
- 
					PHPのheader関数で気になった点結論としてページの移転の場合はexitか ページ自体を消した方がよさ下。 &nb ... 
- 
					
													  
- 
					PHPで特定のサイトからのリクエストのみ受け付けて処理する方法指定したサイトからのリクエストのみ受け付けて処理したいという状況があった。その他 ... 
- 
					
													  
- 
					wp_mail関数でエンベロープFrom(Return-Path)が指定できない場合の対応方法WordPress内に設置されたお問い合わせのフォームようなシステムでエンベロー ...