$products
さまざまな製品データで呼び出される配列と、$discounts
キーが製品項目番号であるという配列があります。ループし$products
て、特定の割引へのアクセスを容易にするローカル変数を定義したいと思いました。次のようにします。
foreach ($products as $prod) {
$discount = $discounts[$prod->item_number];
// do stuff
}
デバッグを重ねすぎた結果、何らかの理由で上記のコードを実行すると、最後の項目が$discounts
前の項目の内容で上書きされることがわかりました。
何がこの奇妙な現象を引き起こす可能性があり、$discounts[$prod->item_number]
それを引き起こさずに短い名前を付けるにはどうすればよいでしょうか?