[PHP-users 24393] Re: foreach()でバグでしょうか?
Shindo
shindo @ atsystem.jp
2005年 2月 4日 (金) 20:39:32 JST
大谷 様
こんばんは。進藤です。
$data_fruit が、関数の中では未定義なのでエラーが出ているだけではないで
しょうか。
試しに
global $data_fruit;
を書いてやればエラーが出なくなるのではないでしょうか。
全く試験してませんが...
>以下,現象,ソースコード,エラーを記載します.
>同様の現象が出る方,原因の分かる方などいらっしゃれば,ぜひご教授ください.
>
>----------
>現象
>----------
>foreach( )のループ内部で,別の関数を呼んだ際に
>その関数内部にあるforeach( )でエラーが出る.
>
>長いのですがソースコードを添付します.
>foreach( )内部にさらにforeach( ) があるもの ---> test.php (エラーは出ない)
>foreach( )内部で関数を呼びその中にforeach( )があるもの ---> test2.php
>(エラーが出る)
>に分けて検証を行いました.
>
>----------
>ソース1(test.php)
>----------
><?php
>/* **********************************************************
>func test :foreach()
>********************************************************** */
>function check( $check_word ){
>foreach ( $data_fruit as $value ){
>$plus_delimiter = sprintf("/%s/", $value);
>if ( preg_match($plus_delimiter , $check_word, $matting_word) ){
>$replaced_word = preg_replace($plus_delimiter , "", $check_word);
>$data[0] = trim( $value );
>$data[1] = trim( $replaced_word );
>}
>}
>return $data;
>}
〜〜〜以下省略〜〜〜
>また,出たエラーも記載します
>----------
>エラー
>----------
>*Warning*: Invalid argument supplied for foreach() in
>*/home/xxx/test.php* on line *6*
>Fruit:
>Tasting:
>
〜〜〜以下省略〜〜〜
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
進藤寿則@アットシステム _/_/
e-mail shindo @ atsystem.jp _/
PHP-users メーリングリストの案内