不使用单引号在索引名周围明显减慢执行速度


Does not using single quotes around index names slow execution noticeably/significantly?

如果我说

echo $arr[some_index];

而不是

echo $arr['some_index'];

是否会有大量的处理器时间/功率损失到错误通知?我知道这是不正确的语法,但有大量的代码这样写已经在一个项目我正在工作。

检查起来很简单。您可以检查任何语句的执行时间,例如:

$start = microtime(true);    
//Do your code. Try an echo of one kind here.    
$end = microtime(true);    
echo($end - $start); //The elapsed time, in seconds. Precise up to a microsecond.

为您想要测试的每种类型做一个。谁总是最快,谁自然就是最快的。

您还可以使用memory_get_usage来确定每次调用之前和之后使用了多少内存。

现在,你也应该得到大量的NOTICE。如果一个常量没有定义,它将被视为字符串,但会抛出一个通知。另一个问题是,如果您的键与常量冲突,您将检查错误的值。这真的不是很好的练习。

我认为对性能的影响可以忽略不计,但是作为纯粹主义者,我希望看到使用引号和不使用引号的一致性。