PHP数组与PHP常量?

PHP数组与PHP常量?,php,arrays,constants,Php,Arrays,Constants,我很好奇,是否有任何性能提升,比如在PHP中使用更少的内存或资源: 50个不同的设置变量保存到数组中,如下所示 $config['facebook_api_secret'] = 'value here'; define('facebook_api_secret', 'value here'); 或者将50个不同的设置变量保存到一个常数中,如下所示 $config['facebook_api_secret'] = 'value here'; define('facebook_api_secr

我很好奇,是否有任何性能提升,比如在PHP中使用更少的内存或资源:

50个不同的设置变量保存到数组中,如下所示

$config['facebook_api_secret'] = 'value here';
define('facebook_api_secret', 'value here');
或者将50个不同的设置变量保存到一个常数中,如下所示

$config['facebook_api_secret'] = 'value here';
define('facebook_api_secret', 'value here');

我认为这是一个微优化领域。也就是说,差异很小,不值得为了性能而使用一种解决方案。如果性能对应用程序至关重要,那么您就不会使用PHP了!:-)


使用更方便或更有意义的东西。我将配置数据放入常量中,只是因为在加载配置文件后不允许更改它们,而常量就是用于此目的的。

使用不同的编码技术/巧妙的编程技巧提高50个变量的性能在PHP中是错误的。永远记住:优化器比您更聪明

您将不会因为这两项获得任何性能增益。真正的问题是哪一个更有用

对于只定义一次、永远不会更改并且需要在任何地方都可以访问的标量值(字符串、整数等),应使用常量

如果您有某种复杂的嵌套配置,例如:

$config->facebook->apikey = 'secret_key';
$config->facebook->url = 'http://www.facebook.com';

您可能希望使用由众多框架之一提供的数组或配置api(不错)

在我的非正式测试中,我发现访问/定义常量比普通变量/数组慢一点

不管怎么说,这都不会造成什么不同;更可能的是,无论你用它们做什么,都会在千分之一秒内发生


优化数据库(索引,使用EXPLAIN检查查询)和服务器设置(使用APC)从长远来看,将产生更大的影响。

我明白,我只是想看看1是否比另一个更好,因为它们可以完成同样的事情。另一种更好的方法是,智能编辑器或IDE应该能够为它们完成代码。但是代码完成对配置数组的字符串键不起作用。常量比配置类快得多。没有常量vs类的构造和->getters()。但它们看起来并不漂亮:)