能否像下面这样连接字符串?如果不能,有什么替代方法吗?
while ($personCount < 10) {
$result += $personCount . "person ";
}
echo $result;
应该显示为1 person 2 person 3
,等等。
您不能在连接字符串时使用+
符号,那么有什么替代方法吗?
能否像下面这样连接字符串?如果不能,有什么替代方法吗?
while ($personCount < 10) {
$result += $personCount . "person ";
}
echo $result;
应该显示为1 person 2 person 3
,等等。
您不能在连接字符串时使用+
符号,那么有什么替代方法吗?
只需使用.
进行字符串连接。而且你忘记了$personCount
的增量操作!
while ($personCount < 10) {
$result .= $personCount . ' people';
$personCount++;
}
echo $result;
我认为更好的一步
$result .= $personCount . ' people';
这应该会更快。
while ($personCount < 10) {
$result .= "{$personCount} people ";
$personCount++;
}
echo $result;
"{$personCount} people"
比$personCount . ' people'
更快吗?否则这只是一种猜测... - Jake.
而不是 .=
(第一个实例)确实会影响性能(可能是由于 Schlemiel the Painter's algorithm - 这可能发生在 任何 语言或系统中),但它已经在使用 .=
。 - Peter Mortensen$text .= "additional text";
而不是 $text = $text . "additional text";
可以显著提高内存分配效率,从而大大提升性能。我仅通过在一个循环中使用第一种模式,对一个包含 800K 字符的字符串 $text 进行了 900 次迭代,就将执行时间从 5 秒降低到了 0.5 秒(提高了 10 倍)。 - Peter Mortensenwhile ($personCount < 10) {
$result .= ($personCount++)." people ";
}
echo $result;
$personCount = 1;
while ($personCount < 10) {
$result = 0;
$result .= $personCount . "person ";
$personCount++;
echo $result;
}
我认为这段代码应该可以正常工作:
while ($personCount < 10) {
$result = $personCount . "people ';
$personCount++;
}
# I do not understand why you need the (+) with the result.
echo $result;
"people'
而不是'people '
。 - PhoneixS