ホーム › エラー解決 › PHP › Array to string conversion
PHP ERROR

PHP Array to string conversion の原因と解決法

配列をechoや文字列連結でそのまま文字列として扱おうとすると発生する警告です。出力には「Array」とだけ表示されます。

このエラーメッセージ

PHP Warning: Array to string conversion

原因

❌ エラーになるコード

NG
<?php
$fruits = ["りんご", "みかん", "ぶどう"];
echo $fruits; // 配列は直接echoできない

✅ 修正したコード

OK
<?php
$fruits = ["りんご", "みかん", "ぶどう"];
// 連結して1つの文字列にする
echo implode("、", $fruits);
echo "\n";
// 構造を確認したいときは print_r
print_r($fruits);
▶ 修正済みコードを実行エディタで開く
progoのPHP実行環境(インストール不要・登録不要)でその場で動作を確認できます。

解決のポイント

配列を1つの文字列にして表示するならimplode("区切り文字", $配列)を使います。デバッグ目的で中身を見たいだけならprint_r()やvar_dump()が適しています。JSONとして出力したい場合はjson_encode($配列, JSON_UNESCAPED_UNICODE)も便利です。

よくある質問

echo $fruits[0] はエラーになる?
なりません。配列の要素(文字列)を指定すれば普通に出力できます。配列全体をechoするのが問題です。
警告を消すだけではだめ?
@で警告を抑制しても「Array」としか表示されず意図した動作になりません。implodeなどで正しく文字列化してください。