Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php,循环内添加的新键和值在循环外消失_Php_Arrays_Loops - Fatal编程技术网

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

Php,循环内添加的新键和值在循环外消失,php,arrays,loops,Php,Arrays,Loops,对于学校作业,我试图将标题中带有产品详细信息(如颜色和尺寸)的库存项目分成不同变体的库存项目组。我已经将它们全部拆分了,但我不知道如何将这些信息添加到$stockItem数组中。($stockItem位于数组$stockItemGroup内的数组$stockItemGroup内) 当我尝试向循环内的数组添加信息时,我无法访问循环外的信息。如果在此循环完成后对整个阵列使用print\r,则不会显示新信息 for($i = 0; $i < count($stockItemGroup); $i+

对于学校作业,我试图将标题中带有产品详细信息(如颜色和尺寸)的库存项目分成不同变体的库存项目组。我已经将它们全部拆分了,但我不知道如何将这些信息添加到$stockItem数组中。($stockItem位于数组$stockItemGroup内的数组$stockItemGroup内)

当我尝试向循环内的数组添加信息时,我无法访问循环外的信息。如果在此循环完成后对整个阵列使用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']);
}
但这也没有改变任何事情

我是一个彻头彻尾的PHPNoob,所以这可能是非常明显的,任何帮助都将不胜感激

编辑: 此循环位于在此循环中调用的方法内:

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

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

foreach($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);
}