• 締切済み

PHPでNULLを表すには

条件式で $data == ○ して ○の部分にデータがないことを指定したいのですが この場合どの様に記述すればよいのでしょうか? やりたいこと GETでデータを受け取るようになっているのですが データを受けたれなかったときには別の処理をさせたいのです。

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

みんなの回答

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.5

$data=$_GET["data"]; if($data==NULL){ //NULLの時の処理 }elseif($data!=NULL){ //NULLじゃないときの処理 } これじゃだめ?

  • Zodiac
  • ベストアンサー率37% (10/27)
回答No.4

#3です。訂正。 $data = NULLの場合は、isset($data) はFALSEです。 $data =""の場合にisset($data)はTRUEを返します。 混乱させてしまうところでした。すいません。

参考URL:
http://www.php.net/manual/ja/function.isset.php
  • Zodiac
  • ベストアンサー率37% (10/27)
回答No.3

GETで受け取ったデータの有無を判断するなら#2の回答でよいと思います。 補足ですが $data = NULL とした場合、$isset($data)はTRUEを返します。 定義されていない変数と、NULLが入っている変数は扱いが違いますので注意してください。

  • chupark
  • ベストアンサー率41% (90/218)
回答No.2

$data = $_GET['data']; として値を取得しているのであれば、 if(!isset($data)){ echo "データがからっぽです"; } ではいかがでしょう? isset()関数は変数が初期化されているかどうかを判定します。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

$dataが文字列だとしたら、 if ( $data == "" ) {   ... } とか、その逆は if ( $data != "" ) {   ... } などでしょうか?

関連するQ&A

  • フォームを開くときのwhere条件式でnull値のものに絞りたい

    VBAの記述で、フォームを開くときにレコードの抽出条件を指定できますが、その際,指定したフィールドの値がNullのもの、逆にNullLでないものという条件の与え方はできないのでしょうか? 値がある文字列と等しいとかある数値や日付以上といった条件式はヘルプでみるのですが、NullかNullでないといった判断をさせる条件式が参考書等でもみあたらないのですが。  それとも何か違うやりかたがあるのでしょうか?ご存知のかたは教えてください。

  • PHP: 未定義エラーの回避方法を教えてください」

    よろしくお願いします。 PHPで変数が未定義であるというエラーが表示されてしまい困っています。 事前に $hensu = ""; と初期化できればいいのですが、そううまくもできない状況があります。 たとば、次のような場合です。 if (!$_GET['data']){ 処理 GETされているかどうかわからないけど、されていた場合の処理の分岐を記述したいので、事前に初期化できない状況です。 こうした場合、次のようにすることで未定義エラーは無視されるようです。 if (@!$_GET['tb']){ このアットマークによる回避方法でよいのでしょうか?ほかに方法があれば教えてください。エラーレポーティングのレベルを変えない方法でお願いします。

    • ベストアンサー
    • PHP
  • PHPでWebページの特定部を取得したいのですが、上手くいきません。

    PHPでWebページの特定部を取得したいのですが、上手くいきません。 現在file_get_contentsを用いてURLを指定して取得し、preg_matchの引数にする方法で行っています。 また、preg_matchは以下のように用いています。 preg_match("/パターン(.*?)パターン/s", $html, $matches); print_rで$matchesを表示してみたところArray()のみ出力されます。 また、話が逸れて申し訳ないですが、上記とは別にfile_get_contentsを用いて動的にURLを指定して取得しているのですが、処理に時間がかかります。(約10秒) $wordをURLに組み込む変数として以下のように記述しています。 file_get_contents("http://…".$word."…(URLの続き)"); 以上の2点についてご教示願います。

    • ベストアンサー
    • PHP
  • 条件式、htmやcgiやphpが含まれる場合~

    お世話になります。 Perlの条件分岐で、「もし、対象文字列の中に、htm又はcgi又はphpが含まれる時は・・・処理」という事をしたいのですが、条件式をどのように記述すれば良いのでしょう。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • Accessのクリエで都道府県だけを表示させるには

    Accessの初心者です。 得意先テーブルには、住所○○県○○市○○区のようになっている場合、 都道府県別(表示は○○県○○円としたい)に売上データーをクリエで求めたい場合、どの様に条件式を記述すれば良いのでしょうか。 多分条件式で求めるではないかと私が思っているだけですが。よろしくお願いします。

  • PHPで更新するデータにNULLが入っている場合

    PHP初心者です。 PHPでSQLのUPDATEをしようと思っているのですが、更新するデータがNULLの場合、もとのデータを更新しない、という処理をしたいと思っています。 例えば、 ユーザID、ユーザ名、メールアドレス、と言ったテーブルがあった場合、 ユーザID=null、ユーザ名=null、メールアドレス=xxxxx@gmail.com と更新するとき、 ユーザIDとユーザ名は更新せずに、メールアドレスだけ更新するには、どういった処理をすればいいのでしょうか?

    • 締切済み
    • PHP
  • PHPの高速化

    HTMLとphpがごちゃごちゃになるとややこしいので $HTML .= "<div>hogehoge</div>" のような、HTMLソースコードをすべて、いったん変数に格納し、最終的に echo $HTML; とする手法で、作成していったのですが、 HTMLを変数に埋め込んだせいか、PHPの処理が完全に終わるまで HTMLが表示されなくなってしまい、 表示に時間がかかるようになってしまいました。 待ち時間を感じさせぬよう、HTMLを先に表示させ、 そのあとで、データベースに接続や、繰り返し処理のデータを 表示させるには、現在のすべてのHTMLソースを変数に入れるという 設計を改めるしかないのでしょうか。 または、別の方法で、 HTML記述部分を優先的に処理させる方法はないでしょうか。

    • ベストアンサー
    • PHP
  • PHPの配列データの出力方法について

    CSVデータをインポート後に、array関数などで処理した後、 処理したデータを順次表示したいのですが、上手くいきません。 現在は、 foreach (func_get_args($csv_output) as $v) ; var_export($v); と記述しているのですが、これだとarrayが画面に出てしまいます。 print、echoだと表示が出来ず、 print_r、var_dumpだとvar_exportより少し多めに余計な表示が出てしまいます。

    • ベストアンサー
    • PHP
  • パスワード等が記述されているphpファイルの置き場所

    すみません。unix系、php、web系 初心者です。 Mysql を利揺するのにpearで接続しています。 phpで記述している部分でdsnの部分がありますが パスワードやユーザー名、サーバー名等が平文?そのまんま記述していますが危険ですよね? そういうファイルは公開フォルダ( wwwやpublic_html )に置くべきでは無いですよね? 公開フォルダより上位に置いておけば安全ですか?(100%では無いと思いますが...) 公開フォルダと同じ並びに置く場合 その場合、パスの指定はどのように指定すれば良いでしょうか? ../../functions/ /functions/ のようでしょうか? またrequire_onceで読めるでしょうか? 申し訳ありません... 今は以下の様にしています。 /www/functions/hogehoge.phpです <?php $functions_path = '../functions/'; set_include_path(get_include_path() . PATH_SEPARATOR . $functions_path); require_once('hogehoge.php');

    • ベストアンサー
    • PHP
  • エクセルVBA アクティブのシートによって処理を変える方法

    エクセルの勉強をしていて行き詰まってしまったので相談させて下さい。 現在アクティブになっているシートによって処理を変えるVBAを作っています。 IFを使うことになるかと思うのですが”シート1がアクティブの場合”という 条件をうまく付けることが出来ません。 If "アクティブシートがsheet1" Then <<指定の処理>> ElseIf"アクティブシートがsheet2"Then <<指定の処理>> Else EndIf うまく説明できず申し訳ありませんが条件式の" "の中に入るコードを教えて下さい。 不足部分については補足させて頂きますのでよろしくお願い致します。

専門家に質問してみよう