创建新变量或重新分配旧变量-php

创建新变量或重新分配旧变量-php,php,performance,variables,Php,Performance,Variables,什么在性能方面更便宜?为什么?虽然对于第一种情况,它会创建新变量,但是在第二种情况下,它不应该首先取消设置var1以重新分配它吗 1) $var1 = $someBigArray; $var2 = $this->someFunction($var1); // use $var2 2) $var1 = $someBigArray; $var1 = $this->someFunction($var1); // user $var1 更新 我真的不能这样做,我只是排除了我的代码

什么在性能方面更便宜?为什么?虽然对于第一种情况,它会创建新变量,但是在第二种情况下,它不应该首先取消设置
var1
以重新分配它吗

1) 
$var1 = $someBigArray;
$var2 = $this->someFunction($var1);

// use $var2

2) 
$var1 = $someBigArray;
$var1 = $this->someFunction($var1);

// user $var1
更新

我真的不能这样做,我只是排除了我的代码的其余部分,要求核心部分,使它看起来更简单
$var1=$this->someFunction($someBigArray)

这里有两件事,一件是处理,另一件是内存

关于处理:

在PHP中,您确实不知道变量的类型。如果$someBigArray和$this->someFunction($var1)的变量类型不同,那么分配一个新变量$var2的代价会大得多。如果它们是相同的类型($someBigArray和$this->someFunction($var1)),那么它就比较便宜。(处理更少)

关于内存: 使用相同的变量可能会占用更少的内存。RAM的小型优化


内存是便宜的,你应该更加小心你使用的处理能力。在这些情况下,尝试做一个基准测试

PHP的垃圾收集有点奇怪,当重写变量时,它不会(总是?)从内存中刷新。因此,在内存方面,分配一个新变量,并对旧变量使用
unset()
。您不希望在内存中浪费30Mb的数组,特别是如果这是一个可以运行任意时间长度的脚本,或者您曾经同时运行过多个脚本


我不知道处理性能。正如Nafis所说,尝试一个基准。(最简单最愚蠢的方法是,编写一个脚本,运行1000次,看看哪个更快)

为什么不试试这个
$var1=$this->someFunction($someBigArray)1)是否导致性能问题@웃웃웃웃웃 我更新了qsn,tks@SverriM.Olsen现在不行,但我只是想考虑一下,如果代码> $BigBuangs变得巨大。TK你能用可验证的数据支持你的答案吗?只能通过实验。尝试使用内存进行测试(获取使用情况();