if文で複数の値が一緒なら処理を行う方法
- if文を使用して、複数の値が一緒なら特定の処理を行う方法について解説します。
- 一度に複数の値を比較するためには、複数のif文をネストする必要があります。
- 条件を分けて書く方法と比べると冗長になりますが、複数の値を一度に比較する場合にはこのような書き方が適しています。
- ベストアンサー
if文の使い方について
if文でaの値とbの値とcの値が一緒なら次の処理を行うものを作成したいのですが。 if($a==$b==$c){ 行いたい処理 }else{ その他の処理 } と書いたのですが、ダメで if($a=$b=$c){ 行いたい処理 }else{ その他の処理 } と書いたのですが、これもダメでした。 if($a==$b) { if($b==$c) { 処理 }else{ その他の処理 } }else{ その他の処理 } と書かいたら実行されたのですが、このように分けて書かないとダメなのですか? いいやり方がありましたら教えてください
- tadon
- お礼率42% (3/7)
- PHP
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
$a==$b==$c の部分は 実行されたというソースと同じ意味にするには $a==$b && $b==$c と書かなくてはダメです。 最初の書き方では、比較された結果(trueやfalse)と比べることになってしまいます。
関連するQ&A
- IF文
(A)IF 条件 THEN 単純実行文1 ELSE 単純実行文2 (B)IF 条件 THEN 実行処理1 ELSE 実行処理2 Aの文では単純実行分なのになぜ改行すると(B)の文みたいに実行処理になるのでしょうか? 実行処理と単純実行文の違いを教えてください
- ベストアンサー
- その他(プログラミング・開発)
- if文について教えてください
C++でプログラムを作っています。 b0~b3どれかが1の時という条件指定と、さらにその上でb0~b3どれも1でなく、かつどれも同じ値でないという条件指定はどのように記述すればよいのですか? ちなみに私は次の様にしたのですが、ビルドすると「error C2181: else 文が if と一致しません。」となってしまいました。 if((b[0]=1)||(b[1]=1)||(b[2]=1)||(b[3]=1));{ c[1]=c[1]+1; } else(b[0]!=b[1]!=b[2]!=b[3]!=1){ c[2]=c[2]+1; } もう一つこちらでもダメでした。 if((b[0]=1)||(b[1]=1)||(b[2]=1)||(b[3]=1));{ c[1]=c[1]+1; } else(b[0]!=b[1]!=b[2]!=b[3]){ c[2]=c[2]+1; }
- ベストアンサー
- C・C++・C#
- if文の分岐をelseにする事ができません。
以下のような定義の構造体があります。 この構造体のメンバであるchar型配列Cが、 【実行】にあるようにif文で使われている時にelseの処理2を実行する事ができませんでした。 char型の変数だと、'\0'が入っていればelseとなるのですが、 配列となっているCにstrcpyで'\0'や0,NULLを設定してみてもelseにはなりませんでした。 この様なif文でelseの処理2を実行するにはどうすれば良いのでしょうか? 初歩的な質問かも知れませんが、回答頂けると幸いです。 【定義】 typedef struct { struct { char C[100]; }B }A 【実行】 static A* hoge; hoge = (A*)malloc(sizeof(A)); if(A->B.C) { 処理1 }else{ 処理2 }
- ベストアンサー
- C・C++・C#
- if文の演算子について
if文の演算子について int a=0,b=1,c=1,d=1; if(a==1 && b==1 && c==1 ||d==1){ Printf("yes"); }else{ Printf("no"); } if((a==1 && b==1 && c==1 )||d==1){ Printf("yes2"); }else{ Printf("no2"); } } 上記のif文で出力結果が異なります。 if((a==1 && b==1 && c==1 )||d==1)の方はa=1、b=1、c=1の時もしくはd=1の時と 理解できるのですが、 if(a==1 && b==1 && c==1 ||d==1)の方は、どういう条件の時が当てはまるのでしょうか?
- ベストアンサー
- C・C++・C#
- if文が上手くいかない・・・
連続投稿失礼します。 if文が上手くいきません。$hensuuの値が間違っているのにもかかわらず、条件があっている時の処理が実行されてしまいます。 なにやら癖になっているようで、if文を書くたびこのような事態が発生します。(PHPに限らず、C言語でまで・・・。)一体何が原因なのでしょうか? <?php $hensuu = "right"; if($hensuu = "wrong"){ print <<<_EOT_ 条件に合ってないはずなのに、こっちが表示されちゃう。 _EOT_; } else { print <<<_DRK_ 本来こっちが表示されるはずなのに、表示されない・・・。 _DRK_; } ?> よろしくお願いします。
- ベストアンサー
- PHP
- if文について
最近、C言語プログラムから、離れていて、久しぶりにここを覗いたのですが、 こんな質問を見ました。 質問 C言語初心者だが、学習用に良いサイトはないか? 最初の回答の方は、ある初心者用と思われるサイトを、紹介してらっしゃいました。 それに対して、他の回答者の方々は、そのサイトの一分を引用して、コンパイルできないし、間違っていると指摘されました。それは以下のようなものでした。 if(条件式) 文1; else 文2; その代わりに掲載されているのが次のようなものでした。 if(条件)条件が真のときに実行する1文; else 条件が偽のときに実行する1文; 私には、最初の回答がなぜ間違っているのか、何故コンパイルできないのか、判りません。何方か詳しく教えていただければ、嬉しいです。よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 初歩的なIF文がわかりません
COBOLでプログラミングをしているのですが 参考書を見ても理解できない部分があります。 IF 条件式-1 処理A IF 条件式-2 処理B ELSE 処理C(1) END-IF ELSE 処理C(2) END-IF. という処理をしたいのですが、 処理C(1)と処理C(2)は全く同じ処理なのですが 同じことを2度書くのではなく 処理C(1)に当てはまる場合は処理C(2)をしてほしいのです。 どのように書けば教えてください
- ベストアンサー
- その他(プログラミング・開発)
- VC2005においてif文が正しく評価されない
環境: WindowsXP SP2 VC2005 下記ソースをデバッグしています(F10によるステップ実行)。 if文の直前で変数aの値を-1など、0未満へ変更し、 そのままステップ実行しても、なぜかif文の中に入りません。 本来であれば、-1は0未満であるため、if文の判定は真と判定 されるべきであると思います。 個人的に「a = b - c」の式が悪さをしているのではないかなと 考えています。 なぜこのような現象が起こるのでしょうか? int main(void) { long a = 0; long b = 2; long c = 1; a = b - c; if( a < 0 ){ return 0; } }
- ベストアンサー
- C・C++・C#
お礼
出来ました有難うございます