PHPのバージョンを7.Xに上げたら、Notice: Array to string conversion in…’とエラーが出て、Arrayの配列結合演算子(+=)がきちんと動作しない

PHP5.6で問題なかったのにPHP7にバージョンアップしたら、Notice: Array to string conversion in…’とでて、Arrayが空っぽになった。

Arrayの($new_array +=$old_array)の部分でエラーが出ているから、配列結合演算子(+=)が悪いかと思ってたけど、実はそれは悪くなかった。

 

原因:

$old_arrayの作成で

$old_array=””;

$old_array[$num]=array(XXX => YYY);

$new_array +=$old_array

としてた。これが悪い!

 

解決:

$old_array=array(XXX => YYY);

$new_array[$num] +=$old_array

↑こうしましょう

$old_arrayに[$num]をつけるのはだめ