Reputation: 2001
if ($user_id == NULL || $user_name == NULL || $user_logged == NULL) {
$user_id = '-1';
$user_name = NULL;
$user_logged = NULL;
}
if ($user_admin == NULL) {
$user_admin = NULL;
}
is_null
?$user_id
, $user_name
and $user_logged
write in one line (maybe array?) without repeating NULL
?Upvotes: 42
Views: 240560
Reputation: 349232
If you want to test whether a variable is really NULL
, use the identity operator:
$user_id === NULL // FALSE == NULL is true, FALSE === NULL is false
is_null($user_id)
If you want to check whether a variable is not set:
!isset($user_id)
Or if the variable is not set or has an "empty" value (an empty string, zero, etc., see this page for the full list):
empty($user_id)
If you want to test whether an existing variable contains an empty string, then compare it with an empty string:
$user_id === ''
If you want to test whether an existing variable contains a value that's considered "not empty" (non-empty string or array, non-zero number, etc..), !
will be sufficient:
!$user_id
Upvotes: 100
Reputation: 129
The best and easiest way to check if a variable is empty in PHP is just to use the empty() function.
if empty($variable) then ....
Upvotes: 0
Reputation:
To check for null values you can use is_null() as is demonstrated below.
if (is_null($value)) {
$value = "MY TEXT"; //define to suit
}
Upvotes: 1
Reputation: 7337
Felt compelled to answer this because of the other responses. Use empty() if you can because it covers more bases. Future you will thank me.
For example you will have to do things like isset() && strlen() where instead you could use empty(). Think of it like this empty is like !isset($var) || $var==false
Upvotes: 0
Reputation: 4364
Its worth noting - and I only found this out after nearly 9 years of PHP coding that the best way of checking any variable exists is using the empty() function. This is because it doesn't generate errors and even though you turn them off - PHP still generates them! empty() however won't return errors if the variable doesn't exist. So I believe the correct answer is not to check if its null but to do the following
if (!empty($var) && is_null($var))
Note the PHP manual
variable is considered empty if it does not exist or if its value equals FALSE
As opposed to being null which is handy here!
Upvotes: 0
Reputation: 1430
here i have explained how the empty function and isset works please use the one that is appropriate also you can use is_null function also
<?php
$val = 0;
//evaluates to true because $var is empty
if (empty($val)) {
echo '$val is either 0, empty, or not set at all';
}
//evaluates to true because $VAR IS SET
if (isset($val)) {
echo '$val is set even though it is empty';
}
?>
Upvotes: 2
Reputation: 1
<?php
$nothing = NULL;
$something = '';
$array = array(1,2,3);
// Create a function that checks if a variable is set or empty, and display "$variable_name is SET|EMPTY"
function check($var) {
if (isset($var)) {
echo 'Variable is SET'. PHP_EOL;
} elseif (empty($var)) {
echo 'Variable is empty' . PHP_EOL;
}
}
check($nothing);
check($something);
check($array);
Upvotes: 0
Reputation: 23972
1.
if(!($user_id || $user_name || $user_logged)){
//do your stuff
}
2 . No. I actually did not understand why you write such a construct.
3 . Put all values into array, for example $ar["user_id"], etc.
Upvotes: 0
Reputation: 369
you can use isset() routine .
also additionaly you can refer an range of is_type () functions like
is_string(), is_float(),is_int() etc to further specificaly test
Upvotes: 0
Reputation: 1315
You can check if it's not set (or empty) in a number of ways.
if (!$var){ }
Or:
if ($var === null){ } // This checks if the variable, by type, IS null.
Or:
if (empty($var)){ }
You can check if it's declared with:
if (!isset($var)){ }
Take note that PHP interprets 0 (integer) and "" (empty string) and false as "empty" - and dispite being different types, these specific values are by PHP considered the same. It doesn't matter if $var is never set/declared or if it's declared as $var = 0 or $var = "". So often you compare by using the === operator which compares with respect to data type. If $var is 0 (integer), $var == "" or $var == false will validate, but $var === "" or $var === false will not.
Upvotes: 10
Reputation: 340045
Please define what you mean by "empty".
The test I normally use is isset()
.
Upvotes: 0
Reputation: 270767
empty()
is a little shorter, as an alternative to checking !$user_id
as suggested elsewhere:
if (empty($user_id) || empty($user_name) || empty($user_logged)) {
}
Upvotes: 1