在函数中使用大型数组的最佳方式

时间:2019-06-15 作者:dc09

我需要在wordpress函数文件中定义一个值超过15000的数组:

$validpin = array(110019,111222,112233);
我只写了3个值来解释,但实际数组的值将超过15000个。我应该怎么做,因为写15000个值会使函数文件变得非常大?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

如果只是一个数字列表,我建议将它们保存在一个文本文件中,每行都有一个数字。

110019
111222
112233
然后,当您需要该文件时,使用PHP读取其内容,并使用preg_split() 要将其转换为阵列,请执行以下操作:

$file_path     = plugin_dir_path( \'postcodes.txt\', __FILE__ ); // Or wherever you\'ve placed it.
$file_contents = file_get_contents( $file_path );
$postcodes     = preg_split( "/\\r\\n|\\n|\\r/", $file_contents );

if ( in_array( $postcode, $postcodes ) ) {

}
那个preg_split() 基于换行符拆分文本的方法取自here.

相关推荐

wp-cli configuration in php?

https://make.wordpress.org/cli/handbook/config/#config-文件非常好,但我希望在配置中有更多的逻辑。有没有标准的方法?对于drush 我有.drush/aliases.drushrc.php, 其中包括来自各种Drupal存储库的脚本,这些脚本又包含处理各种站点和变体(生产、开发)的逻辑。我想要一些类似的wp-cli, YAML没有为我提供合适的工具。