我已经在互联网上查看过这个问题,但只有在尝试将数组传递给 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问题,但我仍然不知道如何解决它。
有人吗?