2011-10-06 13 views
8

としてスカラー値を使用することはできません:は、私はこのコードをしようとしている配列

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

を取得し、エコーは何もしません。どうして ?何が解決策ですか?

答えて

11

$arr0[]のようなもので終わるよう

$arr.$x[] 

は一緒に文字列$ ARRの表現と$ Xを連結します。であなたの//problem here行を置き換えます

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

しかし、私は強くそれをやっに対してお勧めします。あなたの二次元配列を使用してください。

1

あなたが$arr.$x[]を書くとき、それは私はあなたが意味を考える

echo $arr[0][0]; 
echo $arr[1][0]; 
5

してエコーを交換してみてください$arr[$x][]

に等しい:${'arr'.$x}[]の代わり$arr.$x[]を。あなたがここにあなたがやりたい思い'Array0'[] = ...代わり

関連する問題