質問: @file_get_html($shop[$i]);部分は別ファイル、shop_list.phpに、店舗ごとのurlの配列から 取ってあります。
回答: エラー内容としては **オブジェクトじゃないのにオブジェクトとして扱おうとしている。** という内容です。 PHPだと割とよく発生するエラーです。 ``` $html = @file_get_html($shop[$i]); ``` の戻り値である$htmlがオブジェクトじゃない場合があるということです。 で、ここからどうやって原因を探すかと言うと せっかくソースコードがあるのですから、 simple_html_dom.phpのfile_get_html()部分のソースを開いてみて下さい。 戻り値として、DOMオブジェクトが返るケースとfalseが返るケースが記述されています。 falseが返るケースは ``` if (empty($contents) || strlen($contents) > MAX_FILE_SIZE) { return false; } ``` という感じで、コンテンツが無いか、サイズが大きすぎる場合だと思われます。 なので、どちらのケースに合致するのかを ``` $html = @file_get_html($shop[$i]); ``` の直前で$shop[$i]をvar_dump()するなりcount()するなりしてチェックしてみて下さい。 あと、**@でエラー表示を抑制するのは殆どのケースで問題しか発生しないのでお勧めできません**