0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

#57 isset() vs empty() What's the differences?

Posted at

isset() vs empty() What's the differences?

While start learning PHP, there are always some points which is confusing. Today I would like to make a simple note to descript the differences between isset(), empty(), if()

What is isset()?

Determine if a variable is declared and is different than null

Simply saying it checks whether a variable is set and NOT equal to NULL

What is empty()?

Determine whether a variable is empty

All the variables including , 0,false and NULL are empty.

In the offical document, we are able to find out empty() run the concise above.

!isset($var) || $var == false

isset() vs empty()

empty() using isset() to determine whether the value is empty.

It looks similar but working for different purpose, so do not get it wrong otherwise it may cause you a big trouble.

Forturnately, PHP official document provide type comparison tables which clearly showing the differences.
https://www.php.net/manual/en/types.comparisons.php

Frequent issues

While receiving API response or checking SQL query data, we oftenly use empty to check whether the variable is null or empty. It is still easy to understand while checking empty string. But how about 0?

0 is used in different situations and defined as a non-empty variable. However, if(!empty($x))is oftenly seen to be used for validation and clearly it cause bug because 0 is define as empty variable in PHP.

It is simple to fix, like replace empty with isset. But we should learn the definition before using any 'language construct'.

Conclusion

Does not like Java, PHP is not a statically-typed language, you might make a mistake without notice. Therefore read the document carefully, it is really helpful.

Reference

https://www.php.net/manual/en/function.isset.php
https://www.php.net/manual/en/function.empty.php
https://www.php.net/manual/en/types.comparisons.php

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?