はじめまして。 unk29と申します。 > foreach( )内部にさらにforeach( ) があるもの ---> test.php (エラーは出ない) > foreach( )内部で関数を呼びその中にforeach( )があるもの ---> test2.php ソースコードを見てみましたが、上記の説明は逆ですよね? 私の環境ではtest.phpでエラーが出ました。 エラーの原因は、$data_fruitが配列として初期化されていないからでしょう。 check関数の中に global $data_fruit; と書いてやれば、$data_fruitがグローバル変数と認識されて、ちゃんと動きますよ。 unk29 http://trashweb.jp/