0

次のコードがテキストボックスに表示されており、それをテーブルに変換しています:

foreach([-Order Detail List([-Order Id-])-]){{
   [-order_detail_id-]
   [-order_id-]
   [-account_id-]
   [-order_detail_assigned-]
}}

私はこの関数でコールバックを置き換えています:

preg_replace_callback('/(foreach)\(.*?\).*?\}\}/is', array($declaration, 'GetListPlaceholderConverter'), $email_body);

私が持っているロジックでは:

$x = 0;
foreach($matches as $match){
 $x++;
}
return $x;

$x は、1 のはずなのに 2 を返し続けます....私のコールバックの何が問題なのですか?

var_dump($matches) が返されます:

array(2) { [0]=> string(153) "foreach([-Order Detail List([-Order Id-])-]){{ 
[-order_detail_id-] 
[-order_id-] 
[-account_id-] 
[-order_detail_assigned-] 
}}" [1]=> string(7) "foreach" }

その2番目の文字列はどのようにそこに入っていますか?

4

0 に答える 0