Php multiple and or conditions

PHP If Statement with OR Operator

In this PHP tutorial, you will learn how to use OR operator in If-statement condition, and some example scenarios.

PHP If OR

PHP If condition can be compound condition. So, we can join multiple simple conditions with logical OR operator and use it as condition for PHP If statement.

If statement with OR operator in the condition

The typical usage of an If-statement with OR logical operator is

if ( condition_1 || condition_2 ) < //if-block statement(s) >
  • condition_1 and condition_2 can be simple conditional expressions or compound conditional expressions.
  • || is the logical OR operator in PHP. It takes two operands: condition_1 and condition_2 .
Читайте также:  Javascript close alert or confirm

Since we are using OR operator to combine the condition, PHP executes if-block if at least one of the condition_1 or condition_2 is true. If both the conditions are false, then PHP does not execute if-block statement(s).

Examples

1. Check if a is 2 or b is 5.

In this example, we will write an if statement with compound condition. The compound condition contains two simple conditions and these are joined by OR logical operator.

PHP Program

PHP If OR

2. Check if given string starts with “a” or “b”.

In this example we use OR operator to join two conditions. The first condition is that the string should start with «a» and the second condition is that the string should start with «b» .

PHP Program

Second example of PHP If OR

Conclusion

In this PHP Tutorial, we learned how to write PHP If statement with AND logical operator.

Источник

Php multiple and or conditions

worth reading for people learning about php and programming: (adding extras to get highlighted code)

about the following example in this page manual:
Example#1 Logical operators illustrated

.
// «||» has a greater precedence than «or»
$e = false || true ; // $e will be assigned to (false || true) which is true
$f = false or true ; // $f will be assigned to false
var_dump ( $e , $f );

// «&&» has a greater precedence than «and»
$g = true && false ; // $g will be assigned to (true && false) which is false
$h = true and false ; // $h will be assigned to true
var_dump ( $g , $h );
?>
_______________________________________________end of my quote.

If necessary, I wanted to give further explanation on this and say that when we write:
$f = false or true; // $f will be assigned to false
the explanation:

«||» has a greater precedence than «or»

its true. But a more acurate one would be

«||» has greater precedence than «or» and than «=», whereas «or» doesnt have greater precedence than » default»>$f = false or true ;

If you find it hard to remember operators precedence you can always use parenthesys — «(» and «)». And even if you get to learn it remember that being a good programmer is not showing you can do code with fewer words. The point of being a good programmer is writting code that is easy to understand (comment your code when necessary!), easy to maintain and with high efficiency, among other things.

Evaluation of logical expressions is stopped as soon as the result is known.
If you don’t want this, you can replace the and-operator by min() and the or-operator by max().

c ( a ( false ) and b ( true ) ); // Output: Expression false.
c ( min ( a ( false ), b ( true ) ) ); // Output: Expression is false.

c ( a ( true ) or b ( true ) ); // Output: Expression true.
c ( max ( a ( true ), b ( true ) ) ); // Output: Expression is true.
?>

This way, values aren’t automaticaly converted to boolean like it would be done when using and or or. Therefore, if you aren’t sure the values are already boolean, you have to convert them ‘by hand’:

c ( min ( (bool) a ( false ), (bool) b ( true ) ) );
?>

This works similar to javascripts short-curcuit assignments and setting defaults. (e.g. var a = getParm() || ‘a default’;)

( $a = $_GET [ ‘var’ ]) || ( $a = ‘a default’ );

?>

$a gets assigned $_GET[‘var’] if there’s anything in it or it will fallback to ‘a default’
Parentheses are required, otherwise you’ll end up with $a being a boolean.

> > your_function () or return «whatever» ;
> ?>

doesn’t work because return is not an expression, it’s a statement. if return was a function it’d work fine. :/

This has been mentioned before, but just in case you missed it:

//If you’re trying to gat ‘Jack’ from:
$jack = false or ‘Jack’ ;

// Try:
$jack = false or $jack = ‘Jack’ ;

//The other option is:
$jack = false ? false : ‘Jack’ ;
?>

$test = true and false; —> $test === true
$test = (true and false); —> $test === false
$test = true && false; —> $test === false

NOTE: this is due to the first line actually being

due to «&&» having a higher precedence than «=» while «and» has a lower one

If you want to use the ‘||’ operator to set a default value, like this:

$a = $fruit || ‘apple’ ; //if $fruit evaluates to FALSE, then $a will be set to TRUE (because (bool)’apple’ == TRUE)
?>

instead, you have to use the ‘?:’ operator:

$a = ( $fruit ? $fruit : ‘apple’ ); //if $fruit evaluates to FALSE, then $a will be set to ‘apple’
?>

But $fruit will be evaluated twice, which is not desirable. For example fruit() will be called twice:
function fruit ( $confirm ) if( $confirm )
return ‘banana’ ;
>
$a = ( fruit ( 1 ) ? fruit ( 1 ) : ‘apple’ ); //fruit() will be called twice!
?>

But since «since PHP 5.3, it is possible to leave out the middle part of the ternary operator» (http://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary), now you can code like this:

$a = ( $fruit ? : ‘apple’ ); //this will evaluate $fruit only once, and if it evaluates to FALSE, then $a will be set to ‘apple’
?>

But remember that a non-empty string ‘0’ evaluates to FALSE!

$fruit = ‘1’ ;
$a = ( $fruit ? : ‘apple’ ); //this line will set $a to ‘1’
$fruit = ‘0’ ;
$a = ( $fruit ? : ‘apple’ ); //this line will set $a to ‘apple’, not ‘0’!
?>

To assign default value in variable assignation, the simpliest solution to me is:

$v = my_function () or $v = «default» ;
?>

It works because, first, $v is assigned the return value from my_function(), then this value is evaluated as a part of a logical operation:
* if the left side is false, null, 0, or an empty string, the right side must be evaluated and, again, because ‘or’ has low precedence, $v is assigned the string «default»
* if the left side is none of the previously mentioned values, the logical operation ends and $v keeps the return value from my_function()

This is almost the same as the solution from [phpnet at zc dot webhop dot net], except that his solution (parenthesis and double pipe) doesn’t take advantage of the «or» low precedence.

NOTE: «» (the empty string) is evaluated as a FALSE logical operand, so make sure that the empty string is not an acceptable value from my_function(). If you need to consider the empty string as an acceptable return value, you must go the classical «if» way.

In PHP, the || operator only ever returns a boolean. For a chainable assignment operator, use the ?: «Elvis» operator.

JavaScript:
let a = false;
let b = false;
let c = true;
let d = false;
let e = a || b || c || d;
// e === c

$a = false ;
$b = false ;
$c = true ;
$d = false ;
$e = $a ?: $b ?: $c ?: $d ;
// $e === $c
?>

Credit to @egst and others for the insight. This is merely a rewording for (formerly) lost JavaScript devs like myself.

$res |= true ;
var_dump ( $res );
?>

does not/no longer returns a boolean (php 5.6) instead it returns int 0 or 1

Источник

If statement with multiple conditions in php

Good day, guys. In this post, we’ll look at how to solve the «If statement with multiple conditions in php» programming puzzle.

You can use if statement with multiple conditions within single if statement or you can also use if statement with elseif and else condition in php.

If statement with OR (||) condition in php

$var = "abc"; if($var == "abc" || $var == "def")

It will return true if the value of $var is abc or def. If the value we assign to $var is not equal to “abc” or “def” then the if statement will not be executed.

If statement with AND (&&) condition in php

It will return true if both conditions are true like if the value of $var is abc and the value of $var2 is def. If any of the values of these two variables is not equal to the passed value after the (==) operator then the if statement will not be executed.

If statement with elseif and else condition in PHP

 elseif (count($records) > 1) echo "I have multiple records!"; else < echo "I don't have any records!"; >?> 

Can I have multiple conditions for a single if statement ?

How to check multiple condition using if statement?

 elseif ($username == "Guest") < echo ('Please take a look around.'); >else < echo ("Welcome back, $username."); >?> 

How do you write multiple conditions in an if statement in PHP?

  • if statement — executes some code if one condition is true.
  • if. else statement — executes some code if a condition is true and another code if that condition is false.
  • if. elseif. else statement — executes different codes for more than two conditions.
  • switch statement — selects one of many blocks of code to be executed .

Can you include multiple conditions in an if statement?

A nested if statement is an if statement placed inside another if statement. Nested if statements are often used when you must test a combination of conditions before deciding on the proper action.

What is nested IF statement in PHP?

What is the difference between if and nested IF?

It executes a block of code if the condition written with the if statement is true. However, in the nested if statement this block of code referred to in the previous line would be another if condition. However, it will also execute if the condition written inside it is true otherwise not.

What is faster if or case?

As it turns out, the switch statement is faster in most cases when compared to if-else , but significantly faster only when the number of conditions is large.

What is the syntax of nested IF?

A nested if statement is an if-else statement with another if statement as the if body or the else body. Here’s an example: if ( num > 0 ) // Outer if if ( num < 10 ) // Inner if System. out.

How do you or condition in if in PHP?

In this example, we will write an if statement with compound condition. The compound condition contains two simple conditions and these are joined by OR logical operator. ?> .

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Buy Me A Coffee

Don’t forget to share this article! Help us spread the word by clicking the share button below.

We appreciate your support and are committed to providing you valuable and informative content.

We are thankful for your never ending support.

Источник

Оцените статью