我知道在访问/处理字符串值时使用单引号比使用双引号性能更高,但我想知道完全省略引号是否有任何性能优势。
$a = array('table' => 'myTable');
$table = $a['table'];
与
$a = array(table => 'myTable');
$table = $a[table];
是的。在第二个示例中,PHP 处理器在将“table”默认为数组键之前会检查“table”是否被定义为常量,因此它会进行比需要的更多检查。这也会产生问题。
考虑一下:
const table = 'text';
$a = array( table => 'myTable', order => 'myOrder' );
$table = $a[table]
现在 PHP 将你的数组解释为 $a[text] 这不是你想要的。
您应该始终引用您的字符串。在第二个示例中,PHP 确实将
table
和 order
转换为字符串,但如果 table
或 order
定义 作为常量,PHP 将使用常量的值而不是字符串“table”或‘订单’。
根据研究,“字符串”和“字符串”之间的差异可以忽略不计,甚至不存在。这并不重要,但做起来更快
echo "this is {$var1} and {$var2} and {$var3}";
比它
echo 'this is ' . $var1 . ' and ' . $var2 . ' and ' . $var3;