empty() returns 如果零浮点值作为字符串传递则为真
empty() returns true if a zero float value was passed as string
MySQL 和 PHP 有时会很烦人,当小数像 MYSQL 函数一样以字符串形式返回时。有没有一个函数可以检查一个变量是否是这些中的任何一个?
null, (bool)false, (int)0, (float)0.00, (string)"", (string)"0", (string)"0.00", or (array)[].
empty()
几乎可以完成这项工作,但落在这些 mysql 有时作为字符串返回的十进制值上。 isset() 和 is_null() 在 PHP 7 和 8 中的运行方式不同。我缺少类似 emptyish() 的东西。
什么不适用于 empty():
if (empty($var)) // Doesn't work for decimal/floats passed as string "0.00"
if (!isset($var) || !$var) // Does not work in PHP 8 for an empty string
if ($var == 0) // Leaves a warning if $var is not declared
此 zero/empty 条件在 PHP 7 和 8 版本中的工作方式相同:
if (empty($var) || (float)$var == 0)
它检查 $var 是否是以下任何一项:
未设置、空、(bool)false、(int)0、(float)0.00、(string)""、(string)"0"、(string)"0.00" 或 (array)[]
并替换为 empty():
function nil(&$var) { // https://www.dictionary.com/browse/nil
return (empty($var) || (float)$var == 0);
}
像这样使用:
if (nil($var)) {
echo 'The value is either not set, an empty string, empty array, null, or equals zero.';
}
Isset 检查 null 而不是空值。通过 gettype 你可以避免类型字符串。
if(isset($var) || gettype($v) !== 'string'){
.
.
.
}
使用 isset()。
<?php
if(isset($var)){
//$var is set
if(!$var){
//$var is 0
} else if(empty($var)){
//$var is empty
} else {
//code goes here
}
}else{
//$var is not set
}
MySQL 和 PHP 有时会很烦人,当小数像 MYSQL 函数一样以字符串形式返回时。有没有一个函数可以检查一个变量是否是这些中的任何一个?
null, (bool)false, (int)0, (float)0.00, (string)"", (string)"0", (string)"0.00", or (array)[].
empty()
几乎可以完成这项工作,但落在这些 mysql 有时作为字符串返回的十进制值上。 isset() 和 is_null() 在 PHP 7 和 8 中的运行方式不同。我缺少类似 emptyish() 的东西。
什么不适用于 empty():
if (empty($var)) // Doesn't work for decimal/floats passed as string "0.00"
if (!isset($var) || !$var) // Does not work in PHP 8 for an empty string
if ($var == 0) // Leaves a warning if $var is not declared
此 zero/empty 条件在 PHP 7 和 8 版本中的工作方式相同:
if (empty($var) || (float)$var == 0)
它检查 $var 是否是以下任何一项: 未设置、空、(bool)false、(int)0、(float)0.00、(string)""、(string)"0"、(string)"0.00" 或 (array)[]
并替换为 empty():
function nil(&$var) { // https://www.dictionary.com/browse/nil
return (empty($var) || (float)$var == 0);
}
像这样使用:
if (nil($var)) {
echo 'The value is either not set, an empty string, empty array, null, or equals zero.';
}
Isset 检查 null 而不是空值。通过 gettype 你可以避免类型字符串。
if(isset($var) || gettype($v) !== 'string'){
.
.
.
}
使用 isset()。
<?php
if(isset($var)){
//$var is set
if(!$var){
//$var is 0
} else if(empty($var)){
//$var is empty
} else {
//code goes here
}
}else{
//$var is not set
}