プログラミング初心者 不正な値について

プログラミング | PHP38閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

なるほど、数値に変換されているということなんですね。 数値形式の文字列を数値に直すには、int型に型変換すれば良いのでしょうか? int型に直すと、文字列は全て0になってしまい、0だと不合格の処理になると思うのですが、何故か合格になってしまいます…やり方が違うのでしょうか…?

ThanksImg質問者からのお礼コメント

大変勉強になりました。他の方もありがとうございます。

お礼日時:5/6 20:23

その他の回答(2件)

0

>student_mathに数字以外を入力すると それは「最初に」弾くべきです。 このロジックに内包させようとすると、 if (is_string($student_math) && ctype_digit($student_math)) $student_math = intval($student_math); if (!is_int($student_math)) $errmsg = 'data erroor'; else if (($student_math > 100) or ($student_math < 0)) $errmsg = 'number error'; if (isset($errmsg)) print $errmsg; else if(70<=$student_math) print "合格"; else if(60<=$student_math && 70>=$student_math) print "追試"; else print "不合格"; みたいな記述になりますかね。 ・文字列型で10進数字だけで構成されていたら、intval で整数型に変換 ・整数型でなかったらデータエラーにする ・100超やマイナスは範囲エラーにする ・エラーがなければ数値をチェックしていく の順になります。

0

取り合えず追試見たいに60より小さいって条件を付けてみれば?

文は上から順番に行われるだけ。 判定する物が文字なら70<= では無いので次の文へ。 60<= では無いので次の文へ。 70<=でも60<=でも無かったので不合格の表示