エラー内容
状態:-
閲覧数:3,730
投稿日:2015-03-11
更新日:2015-03-11
「文字列変換した配列」を警告
配列を文字列変換したため
・文字列処理する箇所へ、期待に反して配列を渡すと、このエラーが発生する
対応案A.配列ではなく、文字列を渡す
対応案B.文字列処理ではなく、配列処理を実施
エラー原因
配列を文字列変換したため
・文字列処理する箇所へ、期待に反して配列を渡すと、このエラーが発生する
エラー対応
対応案A.配列ではなく、文字列を渡す
対応案B.文字列処理ではなく、配列処理を実施
実際に遭遇した例 / 配列をechoで出力しようとした
エラーメッセージ
Notice: Array to string conversion in ★★ on line ▲▲ Array
エラー発生箇所
echo $result;
エラー原因
配列を文字列として処理
・echo で出力可能なのは文字列
・配列は echoで出力できない
対応案A.配列ではなく、文字列を渡す
対応案A
配列ではなく、文字列を渡す
・「配列そのもの」ではなく、「文字列である配列の要素」を指定
A-1.foreach
foreach($results['data'] as $result) {
echo $result['type'], '<br>';
}
A-2.二次元配列目を直接指定
echo $results['data'][1]['type'];
A-3.json_encode
echo json_encode($result);
対応案B.文字列処理ではなく、配列処理を実施
対応案B
文字列処理ではなく、配列処理を実施
・echoは文字列しか対応していないので、配列に対応している関数を指定
B-1.print_r
・print_r
print_r($result);
・整形表示
echo '<pre>'; print_r($result); echo '</pre>';
B-2.var_dump
var_dump($result);