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 回答