質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
スコープ

スコープとは、プログラム内で変数名など、参照可能な有効範囲のことを指します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

Q&A

解決済

2回答

613閲覧

PHP ループ文のスコープ外の変数の更新について

saitama-742

総合スコア17

スコープ

スコープとは、プログラム内で変数名など、参照可能な有効範囲のことを指します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

0グッド

0クリップ

投稿2020/02/13 03:54

$count = 0; for ($i = 1; $i <= 20; $i++) { $count += 5; if ($i = 20) { print($count); } }

ご覧いただきありがとうございます。

こちらのPHP文なのですが、私は$countが「100」になるものだと思って書いたのですが、出力される結果は「5」となってしまいます。

while文でも同じくダメでした。ぐぐってもなぜか分かりませんでしたので、どなたかご回答御願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoorwm

2020/02/13 03:58

> $i = 20 $iの内容が20になりますね
saitama-742

2020/02/13 04:03

ご回答ありがとうございます。無事解決できました! PHPのイコールは「===」と表すのは知っていたのですが、そこを間違えてif文の中に$i = 20を入れると代入されてしまうとは知りませんでした(泣) こんなに早くご指摘していただき感謝です!
m.ts10806

2020/02/13 04:06

正確には 「ifで式$i = 20の結果を評価」ですね。
guest

回答2

0

ベストアンサー

if ($i = 20) {
$i20 を代入しています。よって常にTrue。
ループは1回しか回りません。

if ($i === 20) {が正解。
または
if ($i == 20) {

投稿2020/02/13 04:00

編集2020/02/13 04:03
Y.H.

総合スコア7914

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ifの中が代入になってます。イコール3つでお願いします

php

1$i === 20

投稿2020/02/13 03:58

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問