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

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

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

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

4回答

1494閲覧

if(変数)とif(!empty(変数))の違い

TmNm_Bigger

総合スコア14

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

2クリップ

投稿2017/10/07 14:22

if(変数)とif(!empty(変数))の違いを教えてください!!!!!!!

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

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

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

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

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

guest

回答4

0

PHP 型の比較表 ¶

注意:

$xが定義されていない状態で単に if ($x)としてしまうとE_NOTICE レベルのエラーが発行てしまいます。代わりに、empty()や isset()を使うかあるいは変数を初期化するように してください。

この辺ですかね。

投稿2017/10/07 14:30

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

ベストアンサー

質問文の意味を取り違えてるかもしれませんが、前者は変数が未定義の場合にNoticeレベルのエラーを出力します。また、!empty($var)isset($var) && $varと等価です。

PHP

1<?php 2$var1 = "var"; 3 4var_dump(($var1) ? true : false); 5var_dump(($var2) ? true : false); // Notice: Undefined variable: var2 6var_dump(isset($var1) && $var1 ? true : false); 7var_dump(isset($var2) && $var2 ? true : false); 8var_dump(!empty($var1) ? true : false); 9var_dump(!empty($var2) ? true : false);

投稿2017/10/07 14:29

編集2017/10/07 14:32
s8_chu

総合スコア14731

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

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

0

if(変数)は好きな評価ができます。

php

1if ( $a === 0 ){} 2if ( $a !== 0 ){} 3if ( $a === '' ){} 4if ( $a !== '' ){} 5if ( $a > 0 ){} 6if ( $a < 0 ){} 7if ( $a === 'aaaa' ){}

しかし、if(!empty(変数))は、その変数がempty(空っぽ)かどうかしか見ることができません。
それでもって「!」マークがついているので反対を意味します。

php

1$karappo = ''; 2$nakamiga_aruyo = 'nakami'; 3 4if ( !empty($karappo) ){} # if文の中に入らない 5if ( !empty($nakamiga_aruyo) ){} # if文の中に入る

ここで蛇足ですが、empty関数は若干面倒な挙動をします。

php

1$karappo = ''; 2$nakamiga_aruyo = 'nakami'; 3 4if ( empty($karappo) ){} # if文の中に入る 5if ( empty($nakamiga_aruyo) ){} # if文の中に入らない 6 7# 変数の中身が0のとき 8$nakamiga_aruyo = 0; 9if ( empty($nakamiga_aruyo) ){} # if文の中に入っちゃう 10 11 12# 変数の中身がnullのとき 13$nakamiga_aruyo = null; 14if ( empty($nakamiga_aruyo) ){} # if文の中に入っちゃう 15

これはなかなかに陥ります。
気をつける点ですね。

投稿2017/10/07 14:28

nnahito

総合スコア2004

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

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

0

例えば、変数が "0" や 空の配列の場合の挙動は以下のようになります。

  • if(変数) は true
  • if(empty(変数)) は true
  • if(!empty(変数)) は false

詳しいことは公式マニュアルを読みましょう。
http://php.net/manual/ja/function.empty.php

投稿2017/10/07 14:35

cookieman

総合スコア128

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問