问题描述
||
我有这么小的代码,为什么它不起作用以及如何正确地进行设置?
$temp = $_SESSION[\'contactPersonInterest\'][$i];
$temp += \',Medlemskort\';
//$_SESSION[\'contactPersonInterest\'][$i] = $temp;
我正在测试
?><script>alert(\'<?PHP echo $_SESSION[\'contactPersonInterest\'][$i] ?>\'+\'----------\'+\'<?PHP echo $temp ?>\');</script> <?PHP
我得到的是:
blbla,blll----------0
怎么了 ?
谢谢
解决方法
字符串连接是用PHP中的
.
完成的。尝试:
$temp .= \',Medlemskort\';
否则,您将执行加法运算,并且如果两个字符串都不以数字开头,则它们将被转换为0
和0 + 0 = 0
:)
看看类型杂耍。
, 那是因为+ =是用于添加整数而不是字符串的运算符。您要连接字符串(即\“。\”)。另外,无需创建临时变量,仅需覆盖现有变量即可。这应该工作:
$_SESSION[\'contactPersonInterest\'][$i] .= \',Medlemskort\';
, 您通过+
错误地将更多的东西分配给变量。您应该改用.
。
$temp .= \',Medlemskort\';
, 如果您希望$ i具有temp \的值,则不需要+ =:
$temp = \"\"; // good habit to initialize before usage
$temp = $_SESSION[\'contactPersonInterest\'][$i];
$temp = \',Medlemskort\';
$_SESSION[\'contactPersonInterest\'][$i] = $temp;
// or even save a $temp
$_SESSION[\'contactPersonInterest\'][$i] = \',Medlemskort\';
希望这有道理,祝你好运