1

少し前にこの質問を投稿しましたが、ここに完全版があります。

2 つの配列をマージしようとしています。Eating Array (現在は何も入っていません) と Dairy Array (ユーザーが別の HTML ページで Dairy に yes を選択したため)。

ただし、これら 2 つを新しい配列 ($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

$_POST foreach POST`array_mergeの場合は内部にあり、エラーが発生しますclause with checking. You're tryingbefore

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

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