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

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

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

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

Q&A

解決済

1回答

1180閲覧

PHP関数によるの比較の違い

tomoyuki123

総合スコア273

PHP

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

0グッド

0クリップ

投稿2017/04/06 10:00

PHPのマニュアルによるとそれぞれの挙動が違うと思います。
http://php.net/manual/ja/types.comparisons.php

PHP

11、empty() 22、is_null() 33、isset() 44、boolean : if($x)

この中で4を使わない方がいいと言う人がいました。

確かに1で!empty()で同様の動きができるようなのですが、結構こういう書き方って多いと思います。
説明を求めたのですが根拠がいまいちわからずご存知の方がいたら教えてください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

PHPのisset,empty,is_null - モトクロスとプログラムと粉砕骨折と
isset() is_null() empty() の違い と 変数の理解 と | 学習B5デスノート

https://3v4l.org/D8H2k

php

1<?php 2 3$x = 0; 4echo PHP_EOL.'$x = 0;'.PHP_EOL; 5var_dump(is_null($x)); 6var_dump(!empty($x)); 7var_dump(isset($x)); 8var_dump(empty($x)); 9 10$x = '0'; 11echo PHP_EOL.'$x = '."'".'0'."'".';'.PHP_EOL; 12var_dump(is_null($x)); 13var_dump(!empty($x)); 14var_dump(isset($x)); 15var_dump(empty($x)); 16 17$x = ''; 18echo PHP_EOL.'$x = '."''".';'.PHP_EOL; 19var_dump(is_null($x)); 20var_dump(!empty($x)); 21var_dump(isset($x)); 22var_dump(empty($x)); 23 24$x = NULL; 25echo PHP_EOL.'$x = NULL;'.PHP_EOL; 26var_dump(is_null($x)); 27var_dump(!empty($x)); 28var_dump(isset($x)); 29var_dump(empty($x)); 30 31$x = TRUE; 32echo PHP_EOL.'$x = TRUE;'.PHP_EOL; 33var_dump(is_null($x)); 34var_dump(!empty($x)); 35var_dump(isset($x)); 36var_dump(empty($x)); 37 38$x = FALSE; 39echo PHP_EOL.'$x = FALSE;'.PHP_EOL; 40var_dump(is_null($x)); 41var_dump(!empty($x)); 42var_dump(isset($x)); 43var_dump(empty($x)); 44 45$x = array(); 46echo PHP_EOL.'$x = array();'.PHP_EOL; 47var_dump(is_null($x)); 48var_dump(!empty($x)); 49var_dump(isset($x)); 50var_dump(empty($x)); 51 52unset($x); 53echo PHP_EOL.'unset($x);'.PHP_EOL; 54var_dump(is_null($x)); 55var_dump(!empty($x)); 56var_dump(isset($x)); 57var_dump(empty($x));

$x = 0; bool(false) bool(false) bool(true) bool(true) $x = '0'; bool(false) bool(false) bool(true) bool(true) $x = ''; bool(false) bool(false) bool(true) bool(true) $x = NULL; bool(true) bool(false) bool(false) bool(true) $x = TRUE; bool(false) bool(true) bool(true) bool(false) $x = FALSE; bool(false) bool(false) bool(true) bool(true) $x = array(); bool(false) bool(false) bool(true) bool(true) unset($x); Notice: Undefined variable: x in /in/D8H2k on line 54 bool(true) bool(false) bool(false) bool(true)

(見づらいので、3v4lのサイトを見に行ってください。)

投稿2017/04/06 10:03

編集2017/04/06 10:49
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

tomoyuki123

2017/04/06 10:08

なるほど、Noticeが出るんですね。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問