PHP 8.3.4 Released!

if

(PHP 4, PHP 5, PHP 7, PHP 8)

Конструкция if — основополагающая структура языков программирования, включая PHP. Эта структура разрешает условное выполнение фрагментов кода. Синтаксис и работа конструкции if в PHP похожа то, как это сделано в языке C:

if (выражение)
    инструкция

Как описано в разделе «Выражения», PHP вычисляет выражение как логическое значение. Если PHP вычислит выражение как true, он выполнит инструкцию, а если вычислит выражение как false — проигнорирует инструкцию. Больше информации о том, какие значения PHP вычисляет как false, дано в разделе «Преобразование в логический тип».

Следующий пример выведет «a больше b», если значение переменной $a больше, чем значение переменной $b:

<?php

if ($a > $b)
echo
"a больше b";

?>

Часто нужно, чтобы по условию выполнялось больше одной инструкции. Конечно, каждую инструкцию не оборачивают в условие if. Вместо этого инструкции объединяют в группу. Например, следующий код выведет «a больше b», если значение переменной $a больше, чем значение переменной $b, а затем присвоит переменной $b значение переменной $a:

<?php

if ($a > $b) {
echo
"a больше b";
$b = $a;
}

?>

PHP разрешает вкладывать инструкции if в другие инструкции if бесконечно, что даёт полную гибкость в организации условного выполнения частей программы.

add a note

User Contributed Notes 4 notes

up
168
robk
10 years ago
easy way to execute conditional html / javascript / css / other language code with php if else:

<?php if (condition): ?>

html code to run if condition is true

<?php else: ?>

html code to run if condition is false

<?php endif ?>
up
35
techguy14 at gmail dot com
13 years ago
You can have 'nested' if statements withing a single if statement, using additional parenthesis.
For example, instead of having:

<?php
if( $a == 1 || $a == 2 ) {
if(
$b == 3 || $b == 4 ) {
if(
$c == 5 || $ d == 6 ) {
//Do something here.
}
}
}
?>

You could just simply do this:

<?php
if( ($a==1 || $a==2) && ($b==3 || $b==4) && ($c==5 || $c==6) ) {
//do that something here.
}
?>

Hope this helps!
up
24
Christian L.
13 years ago
An other way for controls is the ternary operator (see Comparison Operators) that can be used as follows:

<?php
$v
= 1;

$r = (1 == $v) ? 'Yes' : 'No'; // $r is set to 'Yes'
$r = (3 == $v) ? 'Yes' : 'No'; // $r is set to 'No'

echo (1 == $v) ? 'Yes' : 'No'; // 'Yes' will be printed

// and since PHP 5.3
$v = 'My Value';
$r = ($v) ?: 'No Value'; // $r is set to 'My Value' because $v is evaluated to TRUE

$v = '';
echo (
$v) ?: 'No Value'; // 'No Value' will be printed because $v is evaluated to FALSE
?>

Parentheses can be left out in all examples above.
up
24
grawity at gmail dot com
16 years ago
re: #80305

Again useful for newbies:

if you need to compare a variable with a value, instead of doing

<?php
if ($foo == 3) bar();
?>

do

<?php
if (3 == $foo) bar();
?>

this way, if you forget a =, it will become

<?php
if (3 = $foo) bar();
?>

and PHP will report an error.
To Top