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

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

解決済みの質問

PHPのwhileの理解の仕方教えてください。

初めまして。つい最近PHPを勉強しようと始めました。
初歩の初歩でまったくの知識がなく、参考書を何度も読んでいますが、
理解の仕方が分かりません。
下記のwhileの例文にについてお教えください。

<?php
echo "整数を入力:";
$a = trim(fgets(STDIN));
$result = false;
$n = 2;
while($n <= $a/2){
if($a % $n == 0){
$result = true;
}
$n++;
}
if($result){
echo $a . "は、素数じゃないです。";
} else {
echo $a . "は、素数です。!!";
}
?>

例文の中の$result = false; や$result = true;が
参考書には説明していなく、
どのようにwhileの構文では解釈すればよいのか
お教えください。(あってもなくてもよいのか?)
この$result = false;がなくてもPHPで動作はできるのは確認済みなのですが、
どうしてもこの部分が気になり、理解をしようと別の参考書のwhileの部分を読みましたが、
全く理解できませんでした。
この程度の知識で無謀だというのは十分承知しておりますが、
今後も同様な事(何が書いてあるか分からない)が起きると思いますので、
何か良いアドバイスをお願い致します。

投稿日時 - 2011-02-18 17:27:09

QNo.6532492

すぐに回答ほしいです

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

ここで使われているwhile構文と$resultは全く関係ないです.
$resultとは読んで字の如く,結果を格納する変数です.
true, falseはブール値と呼ばれ,簡単に言うと”ある”か”ない”かを表す値です.
$nを小さい方から調べていき,最後までWhile構文の中のifを満たすか検討します.

最終的に$resultにTrueが入る場合,下のif構文において,上のものが,$resultがいつまでもtrueが代入されないときはelseの構文が実行されるということです.

ブール値はかなりの基本ですので,頑張って勉強してみてください.

投稿日時 - 2011-02-18 17:48:05

お礼

回答有難うございます。ブール値ですね。
これで次の勉強につながります。
本当にありがとうございます。

投稿日時 - 2011-02-18 18:03:13

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

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

回答(2)

ANo.2

回答はNo1さんがされているので私が勉強してる参考サイトです。

初心者用PHP入門:http://www.standpower.com/index.html
PHPのマニュアル:http://php.net/manual/ja/index.php

投稿日時 - 2011-02-18 17:59:25

お礼

貴重な回答有難うございます。
サイトを参考に勉強頑張ります。

投稿日時 - 2011-02-18 18:06:27

あなたにオススメの質問