php - 在 php 变量中使用花括号是个好习惯

标签 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/

相关文章:

Python 列表操作

language-agnostic - 有什么更好的方法来创建一个接受许多参数的方法? (10+?)

javascript - 正确格式化客户端 (javascript) 和服务器 (PHP) 之间的时间

php - 如何获取未添加到数据库表中的完整月份日期?

php - 以 PDF 格式显示数据

java - 练习在 Java 中返回自身而不是 void

php - 您将如何映射或合并来自多个源/源的不同数据?

php - 短回波标签间距的 PSR 标准

php - MySQL:每组两个

PHP - 框架、ORM、封装