我有一个愚蠢的问题。我只是想知道。虽然我有时倾向于编码,但如果我有很多与特定实体相关的变量,则使用键值对创建一个关联数组来定义这些实体。
我想知道的是,我知道它们都被保存在内存中但是哪个方法更小/更快,创建了一些变量或创建了带有键和变量值的数组
以下是一些例子:
$apples = 'apples';
$grapes = 'some grapes';
$bananas = 'lots of bananas';
$fruits = ['apples' => 'apples', 'grapes' => 'some grapes', 'bananas' => 'lots of bananas'];
我将使用它来循环数据库中的条目并定义要在我的标记中填充的值。
答案 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)
速度和记忆可能无关紧要。写清楚,直接的代码。
如果您要迭代或搜索这些值,请使用数组。
作为一项基本规则,我不会声明一次性使用变量。只有在可读性得到显着提高的边缘情况下,才能打破这一规则。