ばかげた質問かもしれませんが、正直な答えを見つけることができないようです。
$id != ""と同じですか!empty($id)?
if(isset($id) && !empty($id))また、変数が設定されていて空/nullではないかどうかを判断するために使用するのは正しいですか?
ばかげた質問かもしれませんが、正直な答えを見つけることができないようです。
$id != ""と同じですか!empty($id)?
if(isset($id) && !empty($id))また、変数が設定されていて空/nullではないかどうかを判断するために使用するのは正しいですか?
No. empty()は、空の文字列以外の多くの条件をカバーしています。 http://php.net/manual/en/function.empty.php ドキュメントから:
""(空の文字列)0(0 は整数)0.0(浮動小数点として 0)"0"(文字列として 0)NULLFALSEarray()(空の配列)$var;(変数は宣言されていますが、値はありません)また、変数が「空」かどうかを知りたい場合empty()は、必要です。も必要ありませんisset()。
ふむ:一言で言えば、
if($var)つまり、 TRUE の値であるか、 TRUE$varの値を持っている場合、
反対に、値がFALSEif(!$var)の場合を意味します$var
if(empty($var))if(!empty($var))同様に$var、値があるかどうか、または空であるかどうかを確認しようとします。
$var = ''; // false
$var = '1' // true
$var; // empty
$var = '1' // not empty
詳細については、PHPマニュアルを参照してください。
いくつかの例は次のとおりです。
<?php
var_dump((bool) ""); // bool(false)
var_dump((bool) 1); // bool(true)
var_dump((bool) -2); // bool(true)
var_dump((bool) "foo"); // bool(true)
var_dump((bool) 2.3e5); // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array()); // bool(false)
var_dump((bool) "false"); // bool(true)
?>
empty未定義の変数に対して true を返すだけなので、再確認する必要はありません。
使うだけif ( ! empty($id) )
$id != "" は !empty($id) と同じですか?
いいえ、empty空のすべての形式をテストします。0したがって、またはでもトリガーされnullます。を使用して空の文字列と比較すると、!=の文字列変換に基づいて比較が実行されます$id。
また、 if(isset($id) && !empty($id)) を使用して、変数が設定されていて空/nullではないかどうかを判断するのは正しいですか?
そうではありませんが、この条件は、が設定されていないかどうかをテストするだけで$id、空の文字列、 string "0"、整数/浮動小数点値、またはboolean などの0整数に変換されるものは含まれていません。0false
PHP.netには、考慮される値のかなり網羅的なリストがありますempty。
まず、 no$id != ""は と同じではありません!empty($id)。違いは、$id が設定されていない場合、最初の例では未定義の変数を使用しているという通知が表示され、2 番目の例では表示されないことです。
第二に、 isset() と empty() の両方を使用する場合は正しいですが、変数が未定義の場合、空は通知をスローしないため、冗長です。
お役に立てば幸いです。
幸運と幸せなコーディング:P