获取:即使在声明数组后也不能将字符串偏移量用作数组

时间:2012-11-27 00:07:44

标签: php arrays fatal-error

我收到了错误:

  

致命错误:不能在第149行的/home/a1591957/public_html/sidor/NewSidor.php中使用字符串偏移作为数组

这是第149行:

$emp_names_LB[$i][$j] .= "\n\t\t\t\t\t\t<option value=\"\">-------</option>";

这是这一行的整个循环:

$emp_names_LB = array();

 for ($i=0;$i<=$num_of_pos;$i++) {
     for ($j=0;$j<=6;$j++) {
          $emp_names_LB[$i][$j] = "\n\t\t\t\t\t" .
           "<select name=\"WorkersDay" . $j . "Shift" . $i . "\">";
          $emp_names_LB[$i][$j] .= "\n\t\t\t\t\t\t" .
           "<option value=\"none\">&nbsp;</option>";
          for($x=0;$x<=($num_sent_sidor - 1);$x++){
              $emp_names_LB .= "\n\t\t\t\t\t\t" .
               "<option value=\"" . $sent_sidor_emp[$x]["id"] . "\">" .
                $sent_sidor_emp[$x]["FirstName"] . 
                " " . $sent_sidor_emp[$x]["LastName"] . "</option>";
          }
          $emp_names_LB[$i][$j] .= "\n\t\t\t\t\t\t" .
           "<option value=\"\">-------</option>";
          for ($x=0;$x<=($num_no_sidor-1);$x++) {
              $emp_names_LB[$i][$j] .= "\n\t\t\t\t\t\t" .
               "<option value=\"" . $no_sidor_emp[$x]["id"] . "\">" . 
                . $no_sidor_emp[$x]["FirstName"] . 
                " " . $no_sidor_emp[$x]["LastName"] . "</option>";
          }              
         $emp_names_LB[$i][$j] .= "\n\t\t\t\t\t</select>";
     }
 }

谢谢!

1 个答案:

答案 0 :(得分:2)

在这一行(大约147行或那里)

$emp_names_LB .= "\n\t\t\t\t\t\t" .

您正在将$emp_names_LB视为执行隐式类型转换的字符串,从而阻止您进一步进行多维数组访问。

您可能打算使用$emp_names_LB[$i][$j]代替。