1. ホーム
  2. php

[解決済み] PHPで簡単なルックアップテーブルを実装する

2022-02-18 11:57:34

質問内容

データベースを使用したくない場合、PHP のシンプルなルックアップテーブルが必要なことがよくあります。

例えば、こんな感じです。

1 stands for "Good"
2 stands for "Bad"
3 stands for "Ugly"

その実装方法を2つ、以下に示します。 一方は他方より効率的ですか? 他にもっと直感的に実装できる方法はないでしょうか?

switch($code)
{
    case 1:$result="Good";break;
    case 2:$result="Bad";break;
    case 3:$result="Ugly";break;
    default:$result=NULL;
}

$array=array(1=>"Good",2=>"Bad",3=>"Ugly");
$result=$array[$code];

解決方法は?

ルックアップで何をするのかが問題です。

  • キーと値のペアを検索するだけなら、配列が最適です。
  • キーによって異なるアクションを実行したい場合 - これは実際に良い使用例です 戦略パターン - ノー case または array という感じです。

だから case オプションは、拡張性が低く、実行時に変更できないため、ほとんどの場合において劣っています。

シミュレーションを行うために default の場合は、次のようなものを使用します。

$result = in_array($key, $lookup) ? $lookup[$key] : $default;