1

我早些时候发布了这个问题,但这里是完整版。

我正在尝试合并两个数组。Eating Array(目前没有任何内容)和 Dairy Array(因为用户在单独的 html 页面上对 Dairy 勾选了是)。

但是,当我将这两者组合成一个新数组 ($newArray) 时,会发生以下错误:

 Warning: Invalid argument supplied for foreach() in
           /home/****/****/website.php on line 65

注释中标识了第 65 行。

<?php 

 $EatingArray=array();

 echo "<p>";


 $DrinksArray = array(
     'a' => 'Coca Cola',
     'b' => 'Fanta',
 'c' => 'Sprite',
);
 $FoodArray = array(
     'd' => 'Hamburger',
     'e' => 'Pie',
 'f' => 'Chips',
);
 $SweetsArray = array(
     'g' => 'Musk Sticks',
     'h' => 'Maltesers',
 'i' => 'M&Ms',
);
 $DairyArray = array(
     'j' => 'Milk',
     'k' => 'Yoghurt',
 'l' => 'Cheese',
);


if ($_POST['DairyCheckBox'] == 'yes')
 {
 $newArray = array_merge($EatingArray, $DairyArray);
 }
foreach ($newArray as $key => $value)    //LINE 65

{
        echo $value;
}



 echo "<p>";
 ?>

感谢您提前提供帮助。

安德鲁

4

1 回答 1

2

你应该进入if你的子句foreach

array_merge如果clause with checking$_POST . You're tryingforeach beforePOST` 并出现错误,您就在里面

if ($_POST['DairyCheckBox'] == 'yes')
{
    $newArray = array_merge($EatingArray, $DairyArray);

    foreach ($newArray as $key => $value)    //LINE 65
    {
            echo $value;
    }
}
于 2013-09-06T07:44:23.037 回答