勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

PHPのdefine()で配列データの定義と利用方法について

  PHP

他社が作成した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のOpenSSL関数で文字列の暗号・復号化を行う方法
PHPのOpenSSL関数で文字列の暗号・復号化を行う方法

だいぶ前にPHPでBlowfishアルゴリズムを用いた暗号化と復号化する方法をメ ...

PHPのHTTPリクエストライブラリ「Requests for PHP」の利用方法
PHPのHTTPリクエストライブラリ「Requests for PHP」の利用方法

PHPで外部のAPI等にリクエストする際に可能であればfile_get_cont ...

PHPのsetcookieで「Cannot modify」エラーの対応方法
PHPのsetcookieで「Cannot modify」エラーの対応方法

PHPでsetcookieを使うと「Warning: Cannot modify ...

PHPにてSVGファイルをjpg / png画像に変換する方法
PHPにてSVGファイルをjpg / png画像に変換する方法

PHPにてSVGファイルをjpgもしくはpng形式の画像ファイルに変換したいとい ...

PHPにて「みんなの自動翻訳」のAPIで日本語から英語に翻訳する方法
PHPにて「みんなの自動翻訳」のAPIで日本語から英語に翻訳する方法

翻訳用のWeb APIを利用しようとすると「月に〇〇リクエストまでは無料」とかだ ...