<分区>
一些开发人员在他们的 PHP 代码中使用花括号,而另一些开发人员只是将它们连接起来。
例如,这两行代码在PHP中是完全有效的
echo "<h1>{$row['title']}</h1>";
echo "<h1>" . $row['title'] . "</h1>";
代码的输出在最后是相同的,但哪个是好的编码实践?
谢谢你,J
标签 php coding-style
<分区>
一些开发人员在他们的 PHP 代码中使用花括号,而另一些开发人员只是将它们连接起来。
例如,这两行代码在PHP中是完全有效的
echo "<h1>{$row['title']}</h1>";
echo "<h1>" . $row['title'] . "</h1>";
代码的输出在最后是相同的,但哪个是好的编码实践?
谢谢你,J
最佳答案
使用大括号语法稍微慢一些。考虑以下测试:
<?php
$array = array('key'=>'val');
$start1 = microtime(TRUE);
for ($i = 0; $i < 100000; $i++) {
$str = "<tag>{$array['key']}</tag>";
}
$end1 = microtime(TRUE);
$result1 = $end1 - $start1;
$start2 = microtime(TRUE);
for ($j = 0; $j < 100000; $j++) {
$str = "<tag>".$array['key']."</tag>";
}
$end2 = microtime(TRUE);
$result2 = $end2 - $start2;
$start3 = microtime(TRUE);
for ($k = 0; $k < 100000; $k++) {
$str = '<tag>'.$array['key'].'</tag>';
}
$end3 = microtime(TRUE);
$result3 = $end3 - $start3;
echo "1: $result1\n2: $result2\n3: $result3\n";
?>
在我的 PHP/5.2.19-win32 系统上,第一个测试(带花括号)稍微慢一些 (~7%)。然而,差异是如此之小以至于不值得担心,我会说做你最舒服的事。
有点违反直觉,第二个测试始终比第三个测试快 (~2%) - 双引号比单引号快 - 我本以为情况恰恰相反。
关于php - 在 php 变量中使用花括号是个好习惯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7419789/