【问题标题】:Cannot use a scalar value as an array不能将标量值用作数组
【发布时间】:2011-12-02 15:59:12
【问题描述】:

我正在尝试这段代码:

for ($x = 0; $x < $numCol; $x++) {
    for ($i = 0; $i < $numRows; $i++) {
        $arr.$x[] = $todas[$i][$x]."\n"; //problem here
    }
}

echo $arr0[0];
echo $arr1[0];
...

但我知道warning: Cannot use a scalar value as an array

而回声什么也不做。为什么 ?什么是解决方案?

【问题讨论】:

    标签: php arrays loops for-loop


    【解决方案1】:

    这就是你认为你想做的事。将您的 //problem here 行替换为:

    ${'arr' . $x}[] = $todas[$x][$i]."\n";
    

    但我强烈建议不要这样做。只需使用您的二维数组即可。

    【讨论】:

      【解决方案2】:

      我想你的意思是:${'arr'.$x}[] 而不是 $arr.$x[]

       $arr.$x[]
      

      将 $arr 和 $x 的字符串表示形式连接在一起,因此您最终会得到类似 'Array0'[] = ... 而不是 $arr0[] 的内容

      【讨论】:

        【解决方案3】:

        当你写$arr.$x[]时,它等于$arr[$x][]

        尝试用

        替换你的回声
        echo $arr[0][0];
        echo $arr[1][0];
        

        【讨论】:

          猜你喜欢
          • 2019-12-17
          • 2014-07-11
          • 2014-02-26
          • 1970-01-01
          • 1970-01-01
          • 2021-07-20
          • 2016-11-08
          • 1970-01-01
          相关资源
          最近更新 更多