内容
Warning: Illegal string offset '変数名' in ~ というエラーがでる
原因
要素が暗黙のうちに配列に変換されなくなった。
対応
上記のプログラムの場合、"DATA"Sessionが存在しない場合、配列ではなくてnullをセットするため警告がでる
そして、一度nullを代入すると配列ではないと判断するのか、それ以降dataへ入力しようといた部分も全て警告になった。
データが存在チェックをするしょうに修正した
$data = array();
$data = Session::get("DATA");
$data["data3"] = 0;
$data["data4"] = 0;
↓
$data = array();
if(isset($_SESSION['DATA'])){
$data = Session::get("DATA");
}
if($data != null){
$data["data3"] = 0;
$data["data4"] = 0;
}
FAQ一覧へ