-4

if (empty($var)){ほとんどの人が思っているほど効率的に使用できないことに気づきました。

むしろ使用しempty()ている場合($Var == ""){

テキストボックス/入力に空白がある場合、それは空ではないためです。使用すると空白が==""認識されないため、空白があり、空白しかない場合は、2番目の例の方が効率的です。

これはPHPのバグですか?

4

3 に答える 3

3

のPHPドキュメントからempty

次のものは空であると見なされます。

"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)

空白以外の文字があるかどうかをテストしているように見えるので、これは機能するはずです。

 if (strlen(trim($var)) == 0)
于 2013-03-20T20:15:19.943 に答える
0

function.emptyマニュアルのページから。

次のものは空であると見なされます。

"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)

そして、をempty(" ")返しますFALSE

また、" "文字列はASCII文字と同じ0x20です。

于 2013-03-20T20:16:52.347 に答える
0

PHPのバグではありません。すべての言語は少しずつ自分自身を向上させます。PHPが主張する多くの関数がありますが、それらは将来的に減価償却されます。これは意味ですか...彼らにはバグがありますか?ちなみに、私is_null($var)はあなたが必要とするものに近いと思います。

編集2:

empty()、is_null()とisset()の違いには良いリンクがあります

http://mechiwiki.com/techmed/php/php-empty-is_null-and-isset-comparison

于 2013-03-20T20:26:41.157 に答える