私はこれについてインターネットを調べましたが、配列を foreach に渡して内部で変更しようとしたときにのみ問題が発生します。私の問題ははるかに簡単で紛らわしいです。2 つのグローバル変数があります。
$type="";
$rule="";
そして、私はこのコードを持っています:
foreach($cartasxml->children() as $child) {
$str="insert into cards (title,cost,color,loyalty,type,pow,tgh,hand,life,rules,set,rarity,number,artist,flavor,cost) values('{{{".$child->name."}}}',";
if(isset($child->typelist))
{
foreach($child->typelist as $a)
$type .= "|" . str_replace("{","[",str_replace("}","]",$a->type));
$str.="'{{{".substr($type,1)."}}}',";
}
else
$str.="NULL,";
そして、foreach の最後に次のことを行います。
$type="";
$rule="";
したがって、 $str を印刷して $type の値を確認すると、最後に含まれていたものだけが表示されます。おそらくescopeの問題ですが、解決方法はまだわかりません。
誰か?