• ベストアンサー

if文が通りません

$dataという変数の中に"----"という値が入っているのですが下記のif文が通りません。 if($data == "----"){ echo "成功"; } echoで"----"の値が出力されるのは確認済みです。 スペースも入っていません。 ちなみにif文の前に$data = "----";と書いて値を代入するとうまくいきます。

  • PHP
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • guci-ok
  • ベストアンサー率33% (49/146)
回答No.1

bin2hex( 文字列 )で16進表示して見て下さい。

25taku
質問者

お礼

間違えました。 202d2d2dと2d2d2d2d2dです。

25taku
質問者

補足

202d2d2d2となりました。 "----"を代入した後の表示はd2d2d2となります。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

202d2d2dは「 ---」(半角スペース、ハイフン×3)ですね どこかでそういう表記にしていませんか?

25taku
質問者

お礼

別サイトのhtmlから引っ張ってきたデータです。 表示されている値と異なっているケースもあるんですね。 202d2d2dの値で判定するようにしました。

関連するQ&A

  • If文の条件文の書き方

    お世話になります。 Excelでマクロを作成しております。 内容:  あるセルに、X<=300 というような条件を入れておきます。  ある値、たとえば、500 が来たときに、Xに代入して、  500<=300 という条件式を作り、それが、正しいか、正しくないか  の結果を求めたいと思っています。 このとき、if文の条件文は、値によって、変わらなくてはいけないので、 文字列の置き換え等をして、変数として条件文を作ると、「型が違います」 のエラーになります。 どのように条件文を作ればいいでしょうか?? hani = Cells(1,1).value 'セル1,1に、X<=300 が書かれています。 exp = Replace(hani, "X", 500) '"X"を500と置き換えます。 If exp Then Check = 0 Else Check = 1 End If よろしくお願いします。

  • if文について

    cshで書いています。 if文がとおりません。。。 0: Event not found. このようなメッセージが出力されます。 if ($flg == "xxx") then echo "aaa" else if($flg == "yyy") then echo "bbb" exit else echo "ccc" exit endif 内容は上記のような感じです。 どなたか教えて下さい。

  • if文を使わずに小数の符号を取れるか

    if文を使わずに、値が正なら1、0なら0、負なら-1を出力する方法はありますか? if文(とできれば掛け算)を使わずに、変数a(1か-1が入る)と変数b(小数が入る)の符号が違ったらカウントを増やすプログラムを作らないといけないのですが、 変数bを1,0,-1に分けることができれば楽になると考えたのですが、 符号を取り出す関数を見つけることができませんでした。 b/fabs(b)も考えたのですが、これだとb=0の場合に0/0となるためうまくいきません。

  • if文がうまくできません;;

    こんにちわ。 当方、linux初心者です。 今if文を作っているのですが、どうしてもうまくいきません。 ●lsで出力した結果が何行出力されたかによって回答が変わるシェルを作成してください。(10以上と9~3と2以下の3種類) という例題を解答中ですが、下記のとおり作ったのですが 何かアドバイスは頂けませんか? お願い致します。 #!/bin/bash ls -l > case.txt P=`cat case.txt | wc -l` if $P -ge 10 then echo '10以上' elif $P -ge 3 ; then echo '3以上' elif $P -le 2 ; then echo '2以下' fi

  • Bシェルでのif文について

    あるファイルからgrepコマンドで抽出し、その値を変数に 入れてその値がNULLが確認したいのですが、うまくいきません。 どのようにすればNULLとして比較できますでしょうか。 ・「File」という名のファイル Period: Count: ※本来ならば「:」の後に数字が入るが 入っていない場合にはエラーとしたい ・grepの条件 TEST=`grep "^Period" File | cut -f 2 -d":"` ・if文 if [ ${TEST} != NULL ] then echo "ERROR" fi

  • if文の中のif文・・・について

    質問させていただきます。 if文の中のif文の記述の仕方について質問があります。 例えば if ( x > 0 ){ a = b+c; if ( a > 1) d = e+f; ・・・1 if ( a < 1) d = e-f; ・・・2 if ( a = 1 ) d = 1-g; ・・・3 } h = d + i; aが1より大きい場合は、1の処理を、aが1より小さい場合は2の処理を、aが1と同じであった場合、3の処理をして最終的に、h = d + i;の式の d に代入して h を求めたいと思っているのですが、うまくゆきません。 if文の中のif文の記述はどのようにすればよいのでしょうか? よろしければご教示よろしくお願いします。

  • switch文について

    下記のようなswitch文に もうひとつの変数 int tmp = Integer.valueOf(変数2).intValue();を代入したいのですが もう一つ代入できるのでしょうか?? 因みにswitch文にIF文を加えて変数を代入するのではなく switch文で複数の変数を使用したいのです。 どうぞよろしくお願いいたします。 なお、質問の意味が分からない、意図が伝わらない方は アドバイスはいりませんので 恐縮ですがアドバイスお願いいたします。 int lot = Integer.valueOf(変数1).intValue(); switch (lot) { case 1: out.print("OK"); break; case 2: out.print("NG"); break; default: out.print("エラー"); break;} }

    • ベストアンサー
    • Java
  • PHPでjavascriptのalert文のようにデバッグ

    こんにちは 現在、Flash からPHPにデータを渡して、それがPHPにわたっているかどうかを調べたいのですが、echo文などで出力してもそれがブラウザで表示されないので、どうしたらよいかわかりません。。。orz javascriptのalert文のように警告ウィンドウを利用して変数の値などを調べる関数はあるのでしょうか? また、なにか他によい方法がありましたら教えていただけるとありがたいです。 よろしくお願いします

    • ベストアンサー
    • PHP
  • EXCEL IF文で最大値を出す

    最大値はMAXで出せ!といわれると元も子もないですが(^^;) IF文でなんとかならないの?という・・・はい、変わり者のAB型です まあそれはさておきA1,A2,B1,B2の4つを比較したいと思います (4項は全て違う値です) とりあえず =IF(AND(A1>B1),A1,B1) =IF(AND(A2>B2),A2,B2) これをC1,C2に代入し =IF(AND(C1>C2),C1,C2) ただこれでは項目が増えるごとに膨大な代入するセルが必要です ここで変数をn、mとし =IF(AND(n=(AND(A1>B1),A1,B1))>(m=(IF(AND(A2>B2),A2,B2)),n,m) とすれば大丈夫そうなのですが変数を宣言する方法が ネットを探索してもうまく見つけれません。 もしくは別の方法がありそうですが詳しい方助言を いただけないでしょうか?

  • 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; } }

専門家に質問してみよう