文字列が値に対応するリストがあります。たとえば、会社のリストで、MicrosoftにMSという文字を対応させることができます。
明らかに、これをMySQLのテーブルとして置き換えてリストを拡張可能にすることもできますが、好奇心から、これをPHPで一定の形式でどのように表現しますか?
PS:列挙型として機能する定数付きクラスアプローチ(ここで受け入れられた回答:PHPと列挙型を参照)がありますが、列挙型が整数値にマップされるのを見ると、それは本当に役に立ちますか?
defineを使用するのはどうですか
define("MS","Microsoft");
echo MS;
これはMicrosoftに反響するでしょう。
http://php.net/manual/en/function.define.php
また、考えられる解決策へのリンクは、代わりに文字列で同じように簡単に使用できます。他の言語の列挙型として機能する唯一の理由は、代わりに文字列を使用するのではなく、0からnまでの値を定義するためです。
class Companies {
const MS = 'Microsoft';
const IBM = 'International Business Machines';
}
echo Companies::MS;
これでうまくいくと思います。
単一の会社が多くの対応する文字を持つことができる場合、私はおそらく多次元配列を調べることから始めますが、それらが管理するのが難しくなる可能性があるという欠点は、定数を定義することです。
キーと値のペアがある場合は、それらをオブジェクトに入れることができるため、より実用的です。
このリンクを確認してください:arrayToObject()関数