您可以将字符串附加到 PHP 中的变量吗? [复制]
Posted
技术标签:
【中文标题】您可以将字符串附加到 PHP 中的变量吗? [复制]【英文标题】:Can you append strings to variables in PHP? [duplicate] 【发布时间】:2012-02-21 11:15:01 【问题描述】:为什么下面的代码输出0?
它适用于数字而不是字符串就好了。我在 javascript 中有类似的代码也可以工作。 php 不喜欢 += 带字符串吗?
<?php
$selectBox = '<select name="number">';
for ($i=1; $i<=100; $i++)
$selectBox += '<option value="' . $i . '">' . $i . '</option>';
$selectBox += '</select>';
echo $selectBox;
?>
【问题讨论】:
Reference for PHP operators 这个问题真的是重复的吗?该问题要求在特殊情况下附加一个字符串,并对代码的输出提出更具体的问题。 【参考方案1】:在与 JavaScript 连接的情况下,PHP 语法几乎没有什么不同。
代替 (+) plus
一个 (.) period
用于字符串连接。
<?php
$selectBox = '<select name="number">';
for ($i=1;$i<=100;$i++)
$selectBox += '<option value="' . $i . '">' . $i . '</option>'; // <-- (Wrong) Replace + with .
$selectBox .= '<option value="' . $i . '">' . $i . '</option>'; // <-- (Correct) Here + is replaced .
$selectBox += '</select>'; // <-- (Wrong) Replace + with .
$selectBox .= '</select>'; // <-- (Correct) Here + is replaced .
echo $selectBox;
?>
【讨论】:
【参考方案2】:在 PHP 中使用.=
附加字符串,而不是+=
。
为什么会输出 0? [...] PHP 不喜欢 += 带字符串吗?
+=
是一个算术运算符,用于将一个数字与另一个数字相加。将该运算符与字符串一起使用会导致自动类型转换。在 OP 的情况下,字符串已转换为值 0
的整数。
更多关于 PHP 中的操作符:
Reference - What does this symbol mean in PHP? PHP Manual – Operators【讨论】:
$selectBox = '<select>'; $selectBox += '</select>';
扩展为$selectBox = '<select>' + '</select>';
如果字符串至少不以数字开头,PHP 会将它们转换为0
。因此0+0
【参考方案3】:
这是因为 PHP 使用句点字符 .
进行字符串连接,而不是加号字符 +
。因此,要附加到要使用 .=
运算符的字符串:
for ($i=1;$i<=100;$i++)
$selectBox .= '<option value="' . $i . '">' . $i . '</option>';
$selectBox .= '</select>';
【讨论】:
以上是关于您可以将字符串附加到 PHP 中的变量吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章