入力フィールドが空であるか値があるかどうかを確認するために、次の両方の方法は同じように機能しますか?それとも、他のものよりも優れているものはありますか?
if ($options['url']) {
..
}
または
if ( isset ($options['url']) && ($options['url']!="") ) {
..
}
を確認せずに、が配列でない場合、またはインデックスが存在しないisset()
場合は、少なくとも通知メッセージが表示されます。したがって、使用する必要があります。$options
url
isset()
あなたも使うことができます
if (! empty($options['url'])) {
...
}
Empty()は、偽の値(空の文字列、未定義など)をチェックします。
Issetは、変数がNULLではなく、設定されているかどうかを判別します。
($ options ['url'])変数がtrueを返すかどうかを判断します
以下のコードは、キーが存在すると仮定して、値が真であることを確認するだけです。キーが存在しない場合、通知が発行されます。if($ options ['url']){..}
isset
キーが存在し、値がnullでないかどうかを通知します。
empty
キーが存在しない場合はfalseを返し、キーが存在するが値が空の場合もfalseを返すため、使用します。
いいえ。
$options['url']!=""
変数が空かどうかをチェックし、
whileisset($options['url'])
は、変数が設定されているかどうか、またはNULLでないかどうかを確認します。
isset()
変数または配列キーを常に呼び出すことは規則でなければなりません。または、これらすべての「未定義」の警告が表示されます。
以下で十分です。
if (isset($options["url"]) && $options["url"]) {
// ...
}
はisset()
、特定のキーが配列に存在するかどうかを確認するために使用されます(また、未定義のインデックス通知を回避するために使用されます)。これは優れたプログラミング手法です。array_key_exist()
この場合、この関数を使用することもできますがisset
、通常は高速です。
のような式が$options['url']
ブールコンテキスト内で使用される場合。その真実性がチェックされます(ブール値への変換のセクションを参照)。このempty()
関数は、ほとんどの式で同じ結果を生成します。