人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

「PHP」の真偽判断でつまづいてしまいました。

$var = ’example’ //テキトな文字列
if ($var) {式A}//ケースA1 {式A}が処理される
if ($var) {式A}//ケースA2 {式A}が処理されない
if (!$var) {式B}//ケースB1 {式B}が処理される
if (!$var) {式B}//ケースB2 {式B}が処理されない
現状、私のところではケースB1が結果として現れていますが、ケースB2になるべきじゃないのかと戸惑ってます。


※やはり「isset()」「empty()」を使わないとだめなんだろうか・・うまく判断することが出来たような・・・
※$var = ’’ //webページ上のフォームで未入力だった時 の真偽判断についても解説があるとうれしいです。

●質問者: router
●カテゴリ:コンピュータ
✍キーワード:A1 b2 EMPTY PHP Web
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●5ポイント

http://masago.kir.jp/phpsc.php?s=php20030617s.php

> if (trim($mailto)==””){$error=”宛先が未入力です。”;}


というふうに trimを かけたら いかがでしょうか?

◎質問者からの返答

$varの先頭と末尾に空白文字もタブも改行コードも含まれていません。

念のためかけてみましたが、結果に変化は見られませんでした。


2 ● hatete88
●0ポイント

http://ns1.php.gr.jp/pipermail/php-users/2004-January/020472.htm...

[PHP-users 19946]Re: 暗号メモ帖を作ろうとしています、真偽 判定出来ない

◎質問者からの返答

URL先から答えらしきものが見つけられませんでした。

特に暗号化をしているわけではないですし、する気も無いです。

どの辺りが答えなのか、書いてもらえると助かります。


3 ● ito-yu
●55ポイント

http://php.s3.to/man/language.types.boolean.html#language.types....

論理型(boolean)

まず、質問自体が混乱しているようですね。


if($var){ echo ’OK’; }else{ echo ’NG’; }


くらいにしておき、OKかNGのどちらが表示されるか、というところに焦点を絞りましょう。


$varに正しく文字列’example’が代入されており、if文で$varが正しく評価されていれば、URLの通り、真偽値に変換され評価されます。

礼にあげているのはソースのコピペでは内ですよね。;が抜けてるし。ということは、あなたが実際に評価したい文字列に問題が有るのではないでしょうか。

if文の直前で、その変数を表示してみてください。

echo htmlspecialchars($var);

◎質問者からの返答

ご回答ありがとうございます。

URL先のFALSEとなる条件を元に、条件分岐を修正することが出来ました。

例は文字通り例です。短くしようとして、かえってわかりにくくなってしまったようで、すいません。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ