Php,在循环内部添加的新键和值在循环外部消失



对于一项学校作业,我试图将标题中包含颜色和尺寸等产品详细信息的库存物品分为具有不同变体的库存物品组。我已经将它们全部拆分,但我只是不知道如何将这些信息添加到$stockItem数组中。($stockItem在数组$stockItemGroup中,该数组在数组$stockItemGroups中(。

当我试图在循环内向数组添加信息时,我无法访问循环外的信息。如果在这个循环完成后在整个数组上使用print_r,则不会显示新信息。

for($i = 0; $i < count($stockItemGroup); $i++){
$stockItem = $stockItemGroup[$i];
$restString = str_replace($similarString, "", $stockItem['StockItemName']);
$colour = getColour($restString, $allColours);
$restVariant = getRestVariant($restString, $allColours);
$stockItemGroup[$i]['Colour'] = $colour;
$stockItemGroup[$i]['RestVariant'] = $restVariant;
$stockItemGroup[$i]['NewItemName'] = createNewItemName($colour, $restVariant, $stockItem['StockItemName']);
}

我在foreach和for循环中都尝试过(我读到foreach可以复制,所以我认为这可能是原因(。但无济于事。

我显然也试过

$stockItem['Colour'] = $colour;
$stockItem['RestVariant'] = $restVariant;
$stockItem['NewItemName'] = createNewItemName($colour,
$restVariant, 
$stockItem['StockItemName']);

但这也没有改变任何事情。

我是一个完全的博士,所以这可能是非常明显的,任何帮助都将不胜感激。

编辑:这个循环在一个方法内部,这个方法在这个循环中被调用:

$stockItemGroups = getStockItemGroups();
foreach ($stockItemGroups as $stockItemGroup){
addVariants($stockItemGroup);
//writeNewGroup($stockItemGroup);
}

foreach($stockItemGroups as&$stockItemGroup({将数组作为引用传递–RiggsFilly

最新更新