phpやhtmlに関する資料
備忘録的なナニカ

内容

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一覧へ