这个错误的解决方案是什么?

时间:2014-04-01 15:52:09

标签: php arrays variables

if($placed != true){    
  $_SESSION["eventid"][]   = "$r[id]";
  $_SESSION["selection"][] = "$selection";
  $_SESSION["title"][] = "$r[hometeam] - $r[awayteam]";

错误是:

Warning: Cannot use a scalar value as an array in /home2/**/bet/add_bet.php on line 54
Fatal error: [] operator not supported for strings in /home2/**/bet/add_bet.php on line 55

我知道它与数组有关;但这将是解决方案???我很困惑!

这不像我可以输入$_SESSION["eventid"][] = array();

FULL CODE CAN BE SEEN HERE

2 个答案:

答案 0 :(得分:3)

如果你var_dump你的会话变量,你会发现你已经定义了$_SESSION['eventid']等。作为代码中某处的字符串。因此,将它们视为数组将失败。

您需要明确地将会话变量初始化为数组。

答案 1 :(得分:1)

您不应该使用双引号,也需要在$r中使用单引号,也可以使用单引号连接:

     $_SESSION["eventid"][]   = $r['id'];
     $_SESSION["selection"][] = $selection;
     $_SESSION["title"][] = $r['hometeam'] .' - ' . $r['awayteam'];

我想你想要这样的东西:

    $_SESSION["eventid"] = $r['id'];
    $_SESSION["selection"] = $selection;
    $_SESSION["title"] = $r['hometeam'] .' - ' . $r['awayteam'];