连接字符串或使用多个 echo 参数:哪个更快?
Concatenating strings or using multiple echo parameters: which is faster?
假设我有两个 PHP 语句:
echo "foo"."bar"
echo "foo", "bar"
注意连接字符串的不同方式 - 使用 .
或 ,
。
我意识到这两种方法之间的实际区别,使用 ,
为关键字 echo
提供多个参数,而使用 .
实际上是在 [=14] 之前将字符串连接在一起=]ing.
但我的问题是,哪种方式更快?
青木的回答是不真实的。双引号字符串 可以 包含一个变量。逗号和点与变量与文字字符串无关。
当使用 echo (a "language construct") 时,可以声明多个参数。这样做时,您可以用点或逗号连接。由于"precedence",他们的行为略有不同;这是 php 手册中解释的问题(请参阅前面的 link 手册)。
多年来,运行 关于这个主题的许多基准测试,我见过的每个人都说逗号连接比点连接快。出于这个原因,我从不使用点来连接回声。
这里有一些 link 提供了一些实际的基准测试结果:
- https://www.electrictoolbox.com/php-echo-commas-vs-concatenation/
- https://www.fusionswift.com/2010/05/php-concatenation-benchmark-comma-vs-period/
综上所述,本主题是关于微优化的。如果您有一个真正需要节省时间的项目,因为它会影响用户,那么很可能有比回声串联更大的鱼要炸。在几乎所有情况下,如果您使用逗号或点来呼应您的内容,您的最终用户将不会有丝毫线索。
假设我有两个 PHP 语句:
echo "foo"."bar"
echo "foo", "bar"
注意连接字符串的不同方式 - 使用 .
或 ,
。
我意识到这两种方法之间的实际区别,使用 ,
为关键字 echo
提供多个参数,而使用 .
实际上是在 [=14] 之前将字符串连接在一起=]ing.
但我的问题是,哪种方式更快?
青木的回答是不真实的。双引号字符串 可以 包含一个变量。逗号和点与变量与文字字符串无关。
当使用 echo (a "language construct") 时,可以声明多个参数。这样做时,您可以用点或逗号连接。由于"precedence",他们的行为略有不同;这是 php 手册中解释的问题(请参阅前面的 link 手册)。
多年来,运行 关于这个主题的许多基准测试,我见过的每个人都说逗号连接比点连接快。出于这个原因,我从不使用点来连接回声。
这里有一些 link 提供了一些实际的基准测试结果:
- https://www.electrictoolbox.com/php-echo-commas-vs-concatenation/
- https://www.fusionswift.com/2010/05/php-concatenation-benchmark-comma-vs-period/
综上所述,本主题是关于微优化的。如果您有一个真正需要节省时间的项目,因为它会影响用户,那么很可能有比回声串联更大的鱼要炸。在几乎所有情况下,如果您使用逗号或点来呼应您的内容,您的最终用户将不会有丝毫线索。