【问题标题】:What's the solution to this error?这个错误的解决方案是什么?
【发布时间】:2014-04-01 15:52:08
【问题描述】:
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

【问题讨论】:

  • ...错误的描述性足以告诉您解决方案。
  • 如果您的更多代码是相关的,您应该将其发布在问题中,而不是在带有链接的其他站点上。此外,我查看了您的代码,$_SESSION['eventid'] 的声明无论如何都不存在。
  • 我尝试将其粘贴到帖子中,但不允许这样做.. 你是什么意思? session_start();没有为你成功?

标签: php arrays variables


【解决方案1】:

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

您需要将会话变量显式初始化为数组。

【讨论】:

  • 感谢您的友好回答!完整代码已粘贴到 pastebin 中。
【解决方案2】:

你不应该使用双引号,你也需要在$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'];

【讨论】:

  • 我猜最后一个应该是字符串。
  • 您需要对所有这些进行字符串强制转换才能兼容。 可能没关系。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-22
  • 2021-11-26
  • 2018-02-20
  • 1970-01-01
  • 2021-05-20
相关资源
最近更新 更多