湘南ボーイのIT日記

phpエンジニアで、スクラム開発で頑張ってます。

PHP 多次元配列ではまった。。。。。

久しぶりにPHPではまってしまった。。。。。。

俺の2日間が無駄になってしまった。。。。

 

 

はまった内容としては、簡単に書くと以下のソースです。

$test[1] = '123456';
$test[1][1] = 'abc';
var_dump($test);

出力結果
array
  1 => string '1a3456' (length=6)

【test】配列が2次元になってないし、1次元目の要素もおかしくなってるし。。。

 

結構調べましたが、PHPとしては当然の動きの模様。

$test[1] = '123456';
echo $test[1][0];
echo $test[1][1];
echo $test[1][2];

出力結果
123

んー。2次元目の要素が1次元目の文字列の順番に対応していると理解!!

なので、さっきでいうと【2】の部分が【a】に置き換わったとのこと。

これに関して、いろいろ調べたが、回避策はなさそうです。。

残念。。。。。。。

 

ちなみに、連想配列なら、上記の現象は発生しないです。