• 締切済み

この条件を成立させるには

変数answerと変数rightの値が同じであるとき、変数pointに1プラスするといった式にしたいのですが、ポイントを足すことができません。 answerとrightにはきちんと同じ値が渡されているので、if文のどこかが違うのではと思うのですが・・・。 ちなみにanswer、rightともに持つ値はA,B,C,D,Eのいずれかです。(数字ではありません) if($answer==$right){  $point=$point+1; } 数字ではないので、この書き方だとまずいんでしょうか?

みんなの回答

  • kikanbo
  • ベストアンサー率31% (44/139)
回答No.4

if($answer==$right){ echo "OK"; } echo $point; $point=$point+1; echo $point; として別々に確認して問題の切り分けをしてください。

  • NINJA104
  • ベストアンサー率43% (133/306)
回答No.3

>値は常時echoで確認していますので大丈夫だと思います。 単純にechoすると、改行コード辺りが付加されていた場合に気付かな場合が多いので、strlen()等で長さも得て同時に表示すると良いかと思いますよ。

rusya
質問者

お礼

回答ありがとうございます。 今しがた、解決しました。 どうやら表示方法に問題があったようで、ソースではきちんと反映されてました。 お騒がせしてすみませんでした。

  • NINJA104
  • ベストアンサー率43% (133/306)
回答No.2

1.どちらかの前後にスペース(他にもカンマ等)が付加されてしまっている 2.方や全角で方や半角が保存されていた 辺りを疑ってみてはいかがでしょうか。

rusya
質問者

お礼

回答ありがとうございます。 一応何度も確認したのですが、全角/半角の違いによるものではなさそうです。 記号は一応確認したので微妙ですが、がんばって再度確認中です。

  • kikanbo
  • ベストアンサー率31% (44/139)
回答No.1

echo $answer; echo $right; if($answer==$right){ echo $point;  $point=$point+1; echo $point; } として確認してみては? ちゃんと直前で確認しましたか?? 思い込みということもあります。 質問内容だとこれ以上はわからないと思います。

rusya
質問者

お礼

回答ありがとうございます。 値は常時echoで確認していますので大丈夫だと思います。 が、やっぱりポイントがうまく足されません・・・。

関連するQ&A