初心者として、empty() と isset() を使用するたびに、この 2 つの違いは何だろうかという疑問を持つことになると思います。 empty() を使用する必要があるのはどのような場合ですか? isset() をいつ使用するか? 今日は、この 2 つの違いとそのアプリケーション シナリオについて説明します。
1. 違いの概要:
違い 1: empty() は関数であり、関数のすべての属性を持ち、戻り値を持ち、関数の戻り値をパラメーターとして使用でき、動的変数アクセスを使用できます。など;
isset() はステートメントであり、foreach、for、 continue などの PHP 固有の論理構造であり、動的変数を使用してアクセスしたり、関数の戻り値をパラメーターとして使用したりすることはできません。例は以下のとおりです。
$a = 'empty'; $a('err');//TRUE empty(intval('1fa'));//FALSE;
違い 2: $a が定義されている場合、その値が 0、false、null、'' などの空の値であるかどうかに関係なく、empty() の戻り値は true になります。 isset() も TRUE であり、isset は未定義の変数を検証する場合にのみ false を返します。
例:
$a = 0;//'0',false,null,'','0.0'等空值 empty($a);//true empty('aaa');//false empty($b);//true isset($a);//true isset($b);//false,$b未定义
2. 変数が定義されているかどうかを判断する場合、isset() を使用できます。
アプリケーション: フォームを送信するときに isset($_POST['submit']) の値を使用して、フォームを送信するかどうかを決定します。
b. 変数が空であるかどうかを判断する場合 (値が割り当てられているかどうかを知る必要はありません)、empty(); を使用できます。必須項目の項目が空です。
c. 変数がすでに存在し、空ではないと判断する場合は、最初に isset() を使用し、次に empty() を使用できます。
アプリケーション: ファイルをアップロードするとき、$_FILES に値が割り当てられていると判断する必要があります。そして空ではありません。
上記では、empty と isset の違いを、関連する側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。