php 字符串连接,性能

标签 php string concatenation

在 Java 和 C# 等语言中,字符串是不可变的,一次构建一个字符串的计算成本可能很高。在上述语言中,有一些库类可以降低这种成本,例如 C# System.Text.StringBuilder 和 Java java.lang.StringBuilder

php(4 或 5;我对两者都感兴趣)是否共享此限制?如果有,是否有类似的解决方案可用?

最佳答案

不,PHP 中没有 stringbuilder 类的类型,因为字符串是可变的。

话虽如此,构建字符串有不同的方法,具体取决于您在做什么。

例如,echo 将接受逗号分隔的标记作为输出。

// This...
echo 'one', 'two';

// Is the same as this
echo 'one';
echo 'two';

这意味着你可以在不实际使用连接的情况下输出一个复杂的字符串,这样会更慢

// This...
echo 'one', 'two';

// Is faster than this...
echo 'one' . 'two';

如果您需要在变量中捕获此输出,您可以使用 output buffering functions .

另外,PHP 的数组性能非常好。如果你想做一个逗号分隔的值列表,只需使用 implode()

$values = array( 'one', 'two', 'three' );
$valueList = implode( ', ', $values );

最后,确保您熟悉 PHP's string type它是不同的分隔符,以及每个分隔符的含义。

关于php 字符串连接,性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/124067/

相关文章:

php - 此网页有一个重定向循环 - PHP 登录

php - 在 PHP 中对长词进行更智能的自动换行?

c# - 在 C# 中,字符串将单引号替换为双引号

javascript - 使用 javascript 连接两个变量并查找数组值位置

postgresql - Postgres 查询 : array_to_string with empty values

php - 使用php获取连续记录

javascript - 如何在javascript中从字符串创建日期对象

java - 如何在 Java 中比较字符串?

ios - 连接 POST 请求的 JSON 字符串

php - Laravel Eloquent 更新具有相同值但不同 ID 的多行