みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PHPのfor文とforeach文の使い方

PHPのfor文とforeach文を使って、

・果物の名前を4回繰り返す
・繰り返しの2回目と4回目は、"食べてください"という文字列を入れる

という出力を返したいと考えています。
完成イメージは次のとおりです。

(1回目のループ)
りんご
ばなな
ぶどう
みかん

(2回目のループ)
食べてください
りんご
ばなな
ぶどう
みかん

(3回目のループ)
りんご
ばなな
ぶどう
みかん

(4回目のループ)
食べてください
りんご
ばなな
ぶどう
みかん

しかし自分が作成したプログラムでは、
次の2点について問題があります。

・すべての繰り返しの前に"食べてください"が入ってしまう
・for文のループが止まらない

完成イメージの通りのプログラムにするためには、
どのように修正すればよろしいでしょうか?

ご存知の方がいらっしゃいましたら、
ご教示願います。

○質問の補足

自分が作成したプログラムは以下のとおりです。

for($i = 0; $i < 4; $i++) {
if (($i = 1) || ($i = 3)) {
echo "食べてください";
echo "</br>";
};
$fruits = array("りんご", "ばなな", "ぶどう", "みかん");
foreach ($fruits as $value) {
echo $value;
echo "</br>";
}
}

以上、よろしくお願い申し上げます

投稿日時 - 2014-11-03 14:32:03

QNo.8812443

困ってます

質問者が選んだベストアンサー

ループが止まらないのは比較じゃなくて代入になっているからです。

if (($i = 1) || ($i = 3)) {

if (($i == 1) || ($i == 3)) {

あと </br> じゃなくて <br> です。HTMLではなくXHTMLで書くにしても <br /> が正しいです。

投稿日時 - 2014-11-03 14:45:19

お礼

To_aru_Userさま
さっそくのコメントありがとうございます。

代入演算子"="を、
比較演算子"=="に変えると、
意図通りの動きになりました!
<br />も修正しておきます!

アドバイス助かります!

投稿日時 - 2014-11-03 15:49:55

このQ&Aは役に立ちましたか?

8人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問