2

我想添加两个整数并将它们的结果连接到一个字符串,即:

将 1 添加到$i,并将结果连接到字符串'icon'。我认为以下语法会起作用:

$x = 'icon'.$i+1;

但是它并没有做我想做的事-它不断返回 value 'icon1',而忽略$i.

做我想做的事的正确方法是什么?

4

3 回答 3

2

尝试:

$i = 0; // init $i
$x = 'icon'.($i+1);

如果要定期增加$i变量:

$x = 'icon'.(++$i);
于 2013-03-18T08:33:32.163 回答
1

试试这个 :

$temp = $i+1;
$x = 'icon'.$temp;

由于“运算符优先级”,您得到了错误的答案,

参考此链接: http: //php.net/manual/en/language.operators.precedence.php

在这里看到这一行:left + - . arithmetic and string

.具有比 更多的优先级+,因此您的表达式将如下所示:$x = ('icon'.$i)+1;

要解决它,请使用我上面提到的方法或 hsz 答案

IE :$x = 'icon'.($i+1);

于 2013-03-18T08:33:56.953 回答
1

运算符优先级解释了为什么会发生这种情况。

您可以使用括号:

$x = 'icon'.($i+1);

这应该可以完成这项工作。

我的测试:

$i = 18;
$x = 'icon'.($i+1);
var_dump($x);

--> string(6) "icon19"
于 2013-03-18T08:36:03.160 回答