- 締切済み
この条件を成立させるには
変数answerと変数rightの値が同じであるとき、変数pointに1プラスするといった式にしたいのですが、ポイントを足すことができません。 answerとrightにはきちんと同じ値が渡されているので、if文のどこかが違うのではと思うのですが・・・。 ちなみにanswer、rightともに持つ値はA,B,C,D,Eのいずれかです。(数字ではありません) if($answer==$right){ $point=$point+1; } 数字ではないので、この書き方だとまずいんでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- kikanbo
- ベストアンサー率31% (44/139)
if($answer==$right){ echo "OK"; } echo $point; $point=$point+1; echo $point; として別々に確認して問題の切り分けをしてください。
- NINJA104
- ベストアンサー率43% (133/306)
>値は常時echoで確認していますので大丈夫だと思います。 単純にechoすると、改行コード辺りが付加されていた場合に気付かな場合が多いので、strlen()等で長さも得て同時に表示すると良いかと思いますよ。
- NINJA104
- ベストアンサー率43% (133/306)
1.どちらかの前後にスペース(他にもカンマ等)が付加されてしまっている 2.方や全角で方や半角が保存されていた 辺りを疑ってみてはいかがでしょうか。
お礼
回答ありがとうございます。 一応何度も確認したのですが、全角/半角の違いによるものではなさそうです。 記号は一応確認したので微妙ですが、がんばって再度確認中です。
- kikanbo
- ベストアンサー率31% (44/139)
echo $answer; echo $right; if($answer==$right){ echo $point; $point=$point+1; echo $point; } として確認してみては? ちゃんと直前で確認しましたか?? 思い込みということもあります。 質問内容だとこれ以上はわからないと思います。
お礼
回答ありがとうございます。 値は常時echoで確認していますので大丈夫だと思います。 が、やっぱりポイントがうまく足されません・・・。
お礼
回答ありがとうございます。 今しがた、解決しました。 どうやら表示方法に問題があったようで、ソースではきちんと反映されてました。 お騒がせしてすみませんでした。