使用空函数的已填充函数Vs。选择fill Vs !empty()的原因是什么?
fill或其逆blank与empty的最大区别在于什么是空。
例如:
filled(0); // true
blank(0); // false
!empty(0); // false
filled(' '); // false;
blank(' '); // true;
!empty(' '); // true;
filled(''); // false;
blank(''); // true;
!empty(''); // false;
函数以非常不同的方式工作,所以这不是仅仅从两者中选择一个的问题。这取决于你想在代码中做什么。
我认为他们基本上做同样的工作。我注意到的唯一区别是filled()
方法是Laravel的辅助函数,仅在$request
实例或IlluminateHttpRequest
类上可用。而empty()
方法是全局可用的,因为它是PHP的辅助函数。您可以在任何类或控制器中的任何变量上使用empty()
。而另一方面,filled()
只能在您接收请求或您必须手动创建Request
类的实例时使用。
就我个人而言,我从来没有使用过filled()
方法,所以我不能确切地告诉你它们之间的技术差异是什么(如果有的话)。
空例
$test = array(
1 => '',
2 => "",
3 => null,
4 => array(),
5 => FALSE,
6 => NULL,
7=>'0',
8=>0,
);
foreach ($test as $k => $v) {
if (empty($v)) {
echo "<br> $k=>$v is empty";
}
}
/**
Output
1=> is empty
2=> is empty
3=> is empty
4=>Array is empty
5=> is empty
6=> is empty
7=>0 is empty
8=>0 is empty
**/
if(isset($test)) // return true because $test is defined
if(is_null($test)) // return false because $test is not null