php中变量与数组的速度

时间:2018-02-17 06:54:28

标签: php arrays performance variables

我有一个愚蠢的问题。我只是想知道。虽然我有时倾向于编码,但如果我有很多与特定实体相关的变量,则使用键值对创建一个关联数组来定义这些实体。

我想知道的是,我知道它们都被保存在内存中但是哪个方法更小/更快,创建了一些变量或创建了带有键和变量值的数组

以下是一些例子:

$apples  = 'apples'; 
$grapes  = 'some grapes';
$bananas = 'lots of bananas';

$fruits = ['apples' => 'apples', 'grapes' => 'some grapes', 'bananas' => 'lots of bananas'];

我将使用它来循环数据库中的条目并定义要在我的标记中填充的值。

3 个答案:

答案 0 :(得分:0)

让我们试试

测试1

有6个PHP变量

$makevar1 = 'checkspeed';
$makevar2 = 'checkspeed';
$makevar3 = 'checkspeed';
$makevar4 = 'checkspeed';
$makevar5 = 'checkspeed';
$makevar6 = 'checkspeed';

print_r(memory_get_usage()); 

结果是458056

测试2

使用6个数组键

$makevar = array();
$makevar['var1'] = 'checkspeed';
$makevar['var2'] = 'checkspeed';
$makevar['var3'] = 'checkspeed';
$makevar['var4'] = 'checkspeed';
$makevar['var5'] = 'checkspeed';
$makevar['var6'] = 'checkspeed';

print_r(memory_get_usage());

结果是459168

最终结果:访问变量比数组更快。

答案 1 :(得分:0)

在PHP中使用数组可能比变量慢。但是,它不值得研究。专注于可读性。

答案 2 :(得分:0)

速度和记忆可能无关紧要。写清楚,直接的代码。

如果您要迭代或搜索这些值,请使用数组。

作为一项基本规则,我不会声明一次性使用变量。只有在可读性得到显着提高的边缘情况下,才能打破这一规则。