質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

4回答

372閲覧

PHP 変数が存在して中身がnullの時true

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/06/28 05:53

PHPの質問です。
変数は存在するが、中身がnullの時はtrueと判定したいです。
isset()やis_null()を組み合わせたりしてみましたがうまくいきません。

どうぞよろしくおねがいいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/06/28 06:35

自身が調べていく中でやってみたコードをご提示ください。その上で「何が」「どう」分からなかったのか記載してください。 「うまく動作しない」「うまくいかない」では何が起きているか伝わりません。「○○のようになるはずなのに××となってしまう」のような形で「ゴール」と「現象(エラーメッセージなども含む)」を明確にしてください。https://teratail.com/help/question-tips#questionTips3-4-1
m.ts10806

2018/06/28 06:36

null以外のパターン(●がくるとtrue/falseのような形で)も提示してください。
guest

回答4

0

ベストアンサー

これかなget_defined_vars


issetとis_nullを組み合わせてもうまくできなかったと言っていることから
null値がセットされた変数と、そもそも存在しない変数を区別したいのだと推定して回答

php

1function hoge($key){ 2 $a=false; 3 $b=null; 4 $flg=array_key_exists($key,get_defined_vars()); 5 var_dump($flg); 6} 7hoge('a');//true 8hoge('b');//true 9hoge('c');//false

投稿2018/06/28 06:07

編集2018/06/28 06:29
KazuhiroHatano

総合スコア7802

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/28 06:39

ありがとうございます。 目的の判定ができました!
guest

0

php

1$var = null; 2 3$res = isset($var) && is_null($var); 4var_dump($res);

投稿2018/06/28 06:09

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kopio

2018/06/28 06:24

変数の中身がnullの場合はissetがfalseを返すので結果がfalseになりますね。
退会済みユーザー

退会済みユーザー

2018/06/28 06:27

確かにその通りですね。 というか、この要件自体どういう背景があって必要なんだろうか…
trewa-nek9585

2018/06/28 06:31

え、変数nullはissetはfalse返すはずですが...
guest

0

ほぼ冗談ですw
参考:ErrorException

php

1<?php 2function exception_error_handler($severity, $message, $file, $line) { 3 if (!(error_reporting() & $severity)) { 4 return; 5 } 6 throw new ErrorException($message, 0, $severity, $file, $line); 7} 8set_error_handler("exception_error_handler"); 9 10// $xxx = null; 11try { 12 echo is_null($xxx)?'NULLだよ':''; 13} 14catch (Exception $e) { 15 echo '未定義だよ'; 16}

影響大な気がする^^;

投稿2018/06/28 07:06

編集2018/06/28 07:09
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こういうことでしょうか??

PHP

1$test = null; 2 3$result = ( is_null($test) ) ? true : fales; 4 5var_dump($result);

投稿2018/06/28 06:07

mayoi_maimai

総合スコア1583

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2018/06/28 06:18

これだと$testが定義されていない場合 Undefined variableのNoticeがでませんか?
mayoi_maimai

2018/06/28 06:32

ご指摘の通りですね。。 nullで定義済の変数があることを前提で考えていました。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問