我有一个名为$products
的数组,其中包含各种产品数据,还有一个名为$discounts
的数组,其中的键是产品项目编号。当我循环$products
时,我想要定义一个局部变量,这样可以更容易地访问特定折扣,如下所示:
foreach ($products as $prod) {
$discount = $discounts[$prod->item_number];
// do stuff
}
经过太多调试后,我确定上述代码由于某种原因导致最后一项$discounts
被上一项的内容覆盖。
什么可能导致这种奇怪的现象,怎么能在没有引起它的情况下给$discounts[$prod->item_number]
一个更短的名字?
答案 0 :(得分:2)
每当发生类似这样的奇怪事件时,我总是确保服务器上没有“意外”启用Register Globals。我认为你的引用代码没有理由导致$ discounts数组被修改。注册Globals已启用,或者您正在搞乱其他地方。