【问题标题】:Illegal offset type again [closed]再次非法偏移类型[关闭]
【发布时间】:2013-01-11 17:45:09
【问题描述】:

这里又是一个非法偏移类型,但是找不到asnwer!?

$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;
    }
}

是的;

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

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

【问题讨论】:

  • 你想要完成什么?

标签: php multidimensional-array warnings


【解决方案1】:

$init_query[] = array(); 导致array(array()); 然后你循环它并执行以下操作: $GLOBALS['q'][$bit]$GLOBALS['q'][array()] 是非法偏移量。偏移量只能是标量值,如数字和字符串。

$init_query 是一维数组。

不是

【讨论】:

    【解决方案2】:

    使用

    $init_query = array();
    

    而不是

    $init_query[] = array();
    

    【讨论】:

    • 我不完全确定 Benjamin 想要做什么,但如果他设置 $init_query = array(),那么下一次检查是否不为空将始终为 false。
    • 你说得对。
    猜你喜欢
    • 2016-02-16
    • 2011-01-12
    • 2013-03-24
    • 2019-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 2019-07-16
    相关资源
    最近更新 更多