不能将标量值用作数组

use*_*462 8 php arrays loops for-loop

我正在尝试这段代码:

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];
...
Run Code Online (Sandbox Code Playgroud)

但是我明白了 warning: Cannot use a scalar value as an array

而回声什么都不做.为什么?什么是解决方案?

Nul*_*ion 11

这是你认为你想做的事情.替换你的//problem here行:

${'arr' . $x}[] = $todas[$x][$i]."\n";
Run Code Online (Sandbox Code Playgroud)

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


Pau*_*aul 5

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

 $arr.$x[]
Run Code Online (Sandbox Code Playgroud)

将串联$改编的字符串表示和$ X在一起,使你最终喜欢的东西'Array0'[] = ...,而不是$arr0[]