我想添加两个整数并将它们的结果连接到一个字符串,即:
将 1 添加到$i
,并将结果连接到字符串'icon'
。我认为以下语法会起作用:
$x = 'icon'.$i+1;
但是它并没有做我想做的事-它不断返回 value 'icon1'
,而忽略$i
.
做我想做的事的正确方法是什么?
尝试:
$i = 0; // init $i
$x = 'icon'.($i+1);
如果要定期增加$i
变量:
$x = 'icon'.(++$i);
试试这个 :
$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);
运算符优先级解释了为什么会发生这种情况。
您可以使用括号:
$x = 'icon'.($i+1);
这应该可以完成这项工作。
我的测试:
$i = 18;
$x = 'icon'.($i+1);
var_dump($x);
--> string(6) "icon19"