什么原因造成:Notice: Uninitialized string offset”?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (100)

我有一个用户填写的表单,表单上有多个相同的字段,如“项目名称”,“项目日期”,“类别”等。根据用户提交的表格数量:

我的目标是:

  1. 循环表格的数量
  2. 创建单独的SQL插入语句

但是,PHP给我一个通知,我似乎不明白:

注意:

Notice: Uninitialized string offset

PHP

$myQuery = array();

if ($varsCount != 0)
{
  for ($i=0; $i <= $varsCount; $i++)
  {
    $var = "insert into projectData values ('" . $catagory[$i] . "', '" .  $task[$i] . "', '" . $fullText[$i] . "', '" . $dueDate[$i] . "', null, '" . $empId[$i] ."')";
    array_push($myQuery, $var);     
  }
}
提问于
用户回答回答于

如果以下任何变量实际上是字符串或null而不是数组,则会发生此错误:

$catagory
$task
$fullText
$dueDate
$empId
用户回答回答于

这意味着你的一个数组实际上不是一个数组。

顺便说一下,你的检查是不必要的。如果$ varsCount是0,for循环将不会执行。

扫码关注云+社区

领取腾讯云代金券