Php,循环内添加的新键和值在循环外消失
对于学校作业,我试图将标题中带有产品详细信息(如颜色和尺寸)的库存项目分成不同变体的库存项目组。我已经将它们全部拆分了,但我不知道如何将这些信息添加到$stockItem数组中。($stockItem位于数组$stockItemGroup内的数组$stockItemGroup内) 当我尝试向循环内的数组添加信息时,我无法访问循环外的信息。如果在此循环完成后对整个阵列使用print\r,则不会显示新信息Php,循环内添加的新键和值在循环外消失,php,arrays,loops,Php,Arrays,Loops,对于学校作业,我试图将标题中带有产品详细信息(如颜色和尺寸)的库存项目分成不同变体的库存项目组。我已经将它们全部拆分了,但我不知道如何将这些信息添加到$stockItem数组中。($stockItem位于数组$stockItemGroup内的数组$stockItemGroup内) 当我尝试向循环内的数组添加信息时,我无法访问循环外的信息。如果在此循环完成后对整个阵列使用print\r,则不会显示新信息 for($i = 0; $i < count($stockItemGroup); $i+
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']);
}
但这也没有改变任何事情
我是一个彻头彻尾的PHPNoob,所以这可能是非常明显的,任何帮助都将不胜感激
编辑:
此循环位于在此循环中调用的方法内:
$stockItemGroups = getStockItemGroups();
foreach ($stockItemGroups as $stockItemGroup){
addVariants($stockItemGroup);
//writeNewGroup($stockItemGroup);
}
foreach($stockItemGroups as&$stockItemGroup){将数组作为引用传递–RiggsFollyforeach($stockItemGroups as&$stockItemGroup){将数组作为引用传递–RiggsFolly您是否可以向我们展示完整的循环,我感觉这是另一个循环中的循环它在一个方法中(addVariants)这是在循环中调用的:$stockItemGroups=getStockItemGroups();foreach($stockItemGroups为$stockItemGroup){addVariants($stockItemGroup);//writeNewGroup($stockItemGroup);}请直接在问题中添加代码,而不是在注释中添加代码。
foreach($stockItemGroups为&$stockItemGroup){
将数组作为引用传递您是否可以向我们展示完整的循环,我感觉这是另一个循环中的一个循环它在循环中调用的方法(addVariants)中:$stockItemGroups=getStockItemGroups();foreach($stockItemGroups as$stockItemGroup){addVariants($stockItemGroup);//writeNewGroup($stockItemGroup);}请直接在问题中添加代码,而不是在注释中添加代码。foreach($stockItemGroups as&$stockItemGroup){
将数组作为引用传递
$stockItemGroups = getStockItemGroups();
foreach ($stockItemGroups as $stockItemGroup){
addVariants($stockItemGroup);
//writeNewGroup($stockItemGroup);
}