在变量中使用花括号在PHP中的良好实践

一些开发人员在他们的 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%)快 – 双引号比单引号更快 – 我本来预计它会反过来.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...