1

配列に 300 個の文字列があり、特定の文字列が配列内のいずれかであるかどうかを比較したいと考えています。

たとえば、比較する文字列は"blabla". この文字列が 300 個の文字列の配列に存在する場合は、何かを行います。そのために、php 関数を使用します。in_array();

さて、私の質問は次のとおりです。この巨大な配列をどこに保存しますか? ファイルで?もしそうなら、どこにファイルを保存しますか? symfony はどうにかしてそれを管理していますか?

4

1 に答える 1

1

配列が固定されており、変更されないと仮定すると...

final class StringProvider
{
   const strings = array(
     // ... array here
   )

   public function match($string)
   {
      return in_array($string,self::strings);
   }
}

で定数にアクセスします

StringProvider::strings

... または関数を使用する

$stringProvider = new StringProvider();
if ( $stringProvider->match($string) ) {
    // do stuff.
}

Zend OPCacheまたはAPCを使用してファイルをメモリに保存します...これが最も致命的なオプションになります。

于 2013-06-18T23:48:38.933 に答える