再次出现非法的偏移类型

时间:2013-01-11 17:45:10

标签: php multidimensional-array warnings

这是另一种非法的偏移类型,但可以找到答案!?

$GLOBALS['q']   = array();
$init_query[]   = array();


if (!empty($init_query)){
    foreach($init_query as $key => $bit){
        $GLOBALS['q'][$bit] = ($key !== (count($init_query)-1)) ? $init_query[$key + 1] : null;
    }
}

它' S;

$GLOBALS['q'][$bit] = ($key !== (count($init_query)-1)) ? $init_query[$key + 1] : null;

有问题。 $ init_query是一个单维数组。

2 个答案:

答案 0 :(得分:2)

$init_query[] = array();会产生array(array());然后您循环并执行以下操作: $GLOBALS['q'][$bit] $GLOBALS['q'][array()],这是非法的抵消。偏移量只能是数字和字符串等标量值。

  

$ init_query是一个单维数组。

答案 1 :(得分:0)

使用

$init_query = array();

而不是

$init_query[] = array();