php,会话,数组-如何为会话数组的末尾分配strign

问题描述

|| 我有这么小的代码,为什么它不起作用以及如何正确地进行设置?
$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\';
希望这有道理,祝你好运