- Операторы if else PHP
- Условные операторы в PHP
- Оператор if в PHP
- Оператор if . else PHP
- Оператор if . elseif . else
- Тернарный оператор PHP
- Оператор нулевого коалесцирования в PHP7
- PHP if. else. elseif Statements
- PHP Conditional Statements
- PHP — The if Statement
- Syntax
- Example
- PHP — The if. else Statement
- Syntax
- Example
- PHP — The if. elseif. else Statement
- Syntax
- Example
- PHP — The switch Statement
- Php else is there
- User Contributed Notes 10 notes
- Php else is there
Операторы if else PHP
В этой статье мы расскажем, как использовать операторы if else PHP.
Условные операторы в PHP
В PHP есть несколько операторов, которые можно использовать для принятия решений:
- Оператор if ;
- Оператор if . else ;
- Оператор if . elseif . else ;
- Оператор switch . case .
Ниже мы рассмотрим каждый из этих операторов.
Оператор if в PHP
Оператор if в PHP ( как и PHP elseif ) используется для выполнения блока кода только в том случае, если указанное условие имеет значение true . Это простейший условный оператор PHP , его можно записать следующим образом:
Приведенный ниже код выводит « Хорошего уик-энда! », если сегодня пятница:
Оператор if . else PHP
Можно усложнить процесс принятия решений, предоставив альтернативный вариант. Для этого к if нужно добавить оператор else . Оператор if . else позволяет выполнить один блок кода, если указанное условие оценивается как true , а другой блок кода, если false .
Его можно записать следующим образом:
Приведенный ниже код выводит « Хорошего уик-энда! », если сегодня пятница. Иначе выводиться « Хорошего дня! ».
Оператор if . elseif . else
if. elseif. else оператор ( не путать с PHP elseif else ) используется для объединения нескольких операторов if . else .
if(условие) < // Код, который будет выполнен, если условие истинно >elseif(условие) < // Код, который будет выполнен, если условие истинно >else< // Код, который будет выполнен, если условие ложно >
Приведенный ниже код выводит « Хорошего уик-энда! », если сегодня пятница или «Хорошего воскресенья!» если сегодня воскресенье. В противном случае будет выводиться « Хорошего дня! ».
Тернарный оператор PHP
Тернарный оператор предоставляет сокращенный способ написания операторов if . else и elseif PHP . Тернарный оператор обозначается символом вопросительного знака ( ? ). Он принимает три операнда: условие для проверки, результат для true и результат для false .
Чтобы понять, как работает этот оператор, рассмотрим следующие примеры:
Используя тернарный оператор, тот же код можно записать более компактно:
Тернарный оператор в приведенном выше примере выбирает значение слева от двоеточия ( т. е. «Ребенок» ), если условие оценивается как true ( т. е. если $age меньше 18 ) и значение справа от двоеточия ( т.е. «Взрослый» ), если условие оценивается как false .
Примечание . Код, написанный с использованием тернарного оператора, может быть трудно читаемым. Тем не менее, он предоставляет способ компактной записи операторов if-else и PHP elseif .
Оператор нулевого коалесцирования в PHP7
В PHP 7 был введен новый оператор нулевого коалесцирования ( ?? ), который можно использовать в качестве сокращенного обозначения тройного оператора в сочетании с функцией isset() .
Чтобы лучше понять, как это работает, рассмотрим приведенный ниже код. Он извлекает значение $_GET[‘имя’] . Если оно не существует или равно NULL , возвращается ‘ anonymous ‘.
Используя оператор нулевого коалесцирования вместо PHP elseif примера, этот же код можно записать в следующем виде:
Второй вариант синтаксиса является более компактным и простым в написании.
Вадим Дворников автор-переводчик статьи « PHP If…Else Statements »
Дайте знать, что вы думаете по данной теме материала в комментариях. Мы очень благодарим вас за ваши комментарии, отклики, подписки, лайки, дизлайки!
PHP if. else. elseif Statements
Conditional statements are used to perform different actions based on different conditions.
PHP Conditional Statements
Very often when you write code, you want to perform different actions for different conditions. You can use conditional statements in your code to do this.
In PHP we have the following conditional statements:
- 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
PHP — The if Statement
The if statement executes some code if one condition is true.
Syntax
Example
Output «Have a good day!» if the current time (HOUR) is less than 20:
PHP — The if. else Statement
The if. else statement executes some code if a condition is true and another code if that condition is false.
Syntax
if (condition) code to be executed if condition is true;
> else code to be executed if condition is false;
>
Example
Output «Have a good day!» if the current time is less than 20, and «Have a good night!» otherwise:
if ($t < "20") echo "Have a good day!";
> else echo «Have a good night!»;
>
?>
PHP — The if. elseif. else Statement
The if. elseif. else statement executes different codes for more than two conditions.
Syntax
if (condition) code to be executed if this condition is true;
> elseif (condition) code to be executed if first condition is false and this condition is true;
> else code to be executed if all conditions are false;
>
Example
Output «Have a good morning!» if the current time is less than 10, and «Have a good day!» if the current time is less than 20. Otherwise it will output «Have a good night!»:
if ($t < "10") echo "Have a good morning!";
> elseif ($t < "20") echo "Have a good day!";
> else echo «Have a good night!»;
>
?>
PHP — The switch Statement
The switch statement will be explained in the next chapter.
Php else is there
Often you’d want to execute a statement if a certain condition is met, and a different statement if the condition is not met. This is what else is for. else extends an if statement to execute a statement in case the expression in the if statement evaluates to false . For example, the following code would display a is greater than b if $a is greater than $b , and a is NOT greater than b otherwise:
The else statement is only executed if the if expression evaluated to false , and if there were any elseif expressions — only if they evaluated to false as well (see elseif).
Note: Dangling else
In case of nested if — else statements, an else is always associated with the nearest if .
Despite the indentation (which does not matter for PHP), the else is associated with the if ($b) , so the example does not produce any output. While relying on this behavior is valid, it is recommended to avoid it by using curly braces to resolve potential ambiguities.
User Contributed Notes 10 notes
An alternative and very useful syntax is the following one:
statement ? execute if true : execute if false
Ths is very usefull for dynamic outout inside strings, for example:
print(‘$a is ‘ . ($a > $b ? ‘bigger than’ : ($a == $b ? ‘equal to’ : ‘smaler than’ )) . ‘ $b’);
This will print «$a is smaler than $b» is $b is bigger than $a, «$a is bigger than $b» if $a si bigger and «$a is equal to $b» if they are same.
If you’re coming from another language that does not have the «elseif» construct (e.g. C++), it’s important to recognise that «else if» is a nested language construct and «elseif» is a linear language construct; they may be compared in performance to a recursive loop as opposed to an iterative loop.
$limit = 1000 ;
for( $idx = 0 ; $idx < $limit ; $idx ++)
< $list []= "if(false) echo \" $idx ;\n\"; else" ; >
$list []= » echo \» $idx \n\»;» ;
$space = implode ( » » , $list );| // if . else if . else
$nospace = implode ( «» , $list ); // if . elseif . else
$start = array_sum ( explode ( » » , microtime ()));
eval( $space );
$end = array_sum ( explode ( » » , microtime ()));
echo $end — $start . » seconds\n» ;
$start = array_sum ( explode ( » » , microtime ()));
eval( $nospace );
$end = array_sum ( explode ( » » , microtime ()));
echo $end — $start . » seconds\n» ;
?>
This test should show that «elseif» executes in roughly two-thirds the time of «else if». (Increasing $limit will also eventually cause a parser stack overflow error, but the level where this happens is ridiculous in real world terms. Nobody normally nests if() blocks to more than a thousand levels unless they’re trying to break things, which is a whole different problem.)
There is still a need for «else if», as you may have additional code to be executed unconditionally at some rung of the ladder; an «else if» construction allows this unconditional code to be elegantly inserted before or after the entire rest of the process. Consider the following elseif() ladder:
Php else is there
elseif , as its name suggests, is a combination of if and else . Like else , it extends an if statement to execute a different statement in case the original if expression evaluates to false . However, unlike else , it will execute that alternative expression only if the elseif conditional expression evaluates to true . For example, the following code would display a is bigger than b , a equal to b or a is smaller than b :
if ( $a > $b ) echo «a is bigger than b» ;
> elseif ( $a == $b ) echo «a is equal to b» ;
> else echo «a is smaller than b» ;
>
?>?php
There may be several elseif s within the same if statement. The first elseif expression (if any) that evaluates to true would be executed. In PHP, it’s possible to write else if (in two words) and the behavior would be identical to the one of elseif (in a single word). The syntactic meaning is slightly different (the same behavior as C) but the bottom line is that both would result in exactly the same behavior.
The elseif statement is only executed if the preceding if expression and any preceding elseif expressions evaluated to false , and the current elseif expression evaluated to true .
Note: Note that elseif and else if will only be considered exactly the same when using curly brackets as in the above example. When using a colon to define if / elseif conditions, the use of elseif in a single word becomes necessary. PHP will fail with a parse error if else if is split into two words.
/* Incorrect Method: */
if ( $a > $b ):
echo $a . » is greater than » . $b ;
else if ( $a == $b ): // Will not compile.
echo «The above line causes a parse error.» ;
endif;
/* Correct Method: */
if ( $a > $b ):
echo $a . » is greater than » . $b ;
elseif ( $a == $b ): // Note the combination of the words.
echo $a . » equals » . $b ;
else:
echo $a . » is neither greater than or equal to » . $b ;
endif;