php - PHP,循环内添加的新键和值在循环外消失
问题描述
对于学校作业,我试图将带有产品详细信息(如标题中的颜色和尺寸)的库存商品拆分为具有不同变体的库存商品组。我已经将它们全部拆分,但我只是不知道如何将此信息添加到 $stockItem 数组。($stockItem 位于数组 $stockItemGroup 内,而数组 $stockItemGroups 位于数组 $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']);
但这也没有改变任何东西。
我是一个完全 Php 菜鸟,所以这可能很明显,任何帮助将不胜感激。
编辑:此循环在此循环中调用的方法内:
$stockItemGroups = getStockItemGroups();
foreach ($stockItemGroups as $stockItemGroup){
addVariants($stockItemGroup);
//writeNewGroup($stockItemGroup);
}
解决方案
foreach ($stockItemGroups as &$stockItemGroup){ 传递数组作为参考 – RiggsFolly
推荐阅读
- java - Maven 依赖项排除不起作用
- c# - C#从数据库中搜索开始日期和结束日期之间的日期
- rust - 了解 Rc 的用法
> 在锈 - sql - Finding_Missing_Dates_between_Dates_From_Data_OracleSQL
- model-view-controller - 哪种结构更适合我的 cms 平台
- javascript - 手风琴无法使用 Javascript(无法读取属性)
- r - 如何过滤掉R中的观察结果?
- c# - 反序列化为数据集时,JsonConvert.DeserializeObject 不起作用
- reactjs - 在 redux store 更新后立即执行自定义回调
- c# - 在调用 system.timers.timer 时停止创建新线程