if

(PHP 4, PHP 5)

Конструкция if является одной из наиболее важных во многих языках программирования, в том числе и PHP. Она предоставляет возможность условного выполнения фрагментов кода. Структура if реализована в PHP по аналогии с языком C:

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

Как описано в разделе про выражения, выражение вычисляется в булево значение. Если выражение принимает значение TRUE, PHP выполнит инструкцию, а если оно принимает значение FALSE - проигнорирует. Информацию о том, какие значения считаются равными значению FALSE, можно найти в разделе 'Преобразование в булев тип'.

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

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

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

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

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

Коментарии

re: #80305

Again useful for newbies:

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

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

do

<?php
if (== $foobar();
?>

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

<?php
if ($foobar();
?>

and PHP will report an error.
2008-03-10 05:41:06
http://php5.kiev.ua/manual/ru/control-structures.if.html
You can have 'nested' if statements withing a single if statement, using additional parenthesis.
For example, instead of having:

<?php
if( $a == || $a == ) {
    if( 
$b == || $b == ) {
        if( 
$c == || $ == ) {
             
//Do something here.
       
}
    }
}
?>

You could just simply do this:

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

Hope this helps!
2011-01-06 15:39:11
http://php5.kiev.ua/manual/ru/control-structures.if.html
Автор:
An other way for controls is the ternary operator (see Comparison Operators) that can be used as follows:

<?php
$v 
1;

$r = (== $v) ? 'Yes' 'No'// $r is set to 'Yes'
$r = (== $v) ? 'Yes' 'No'// $r is set to 'No'

echo (== $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.
2011-01-25 12:58:14
http://php5.kiev.ua/manual/ru/control-structures.if.html
Автор:
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 ?>
2013-05-20 04:02:05
http://php5.kiev.ua/manual/ru/control-structures.if.html
Left-to-right evaluation of && operators has one useful feature: evaluation stops after first "false" operand is encountered.
 
This feature can be useful for creating following construction:

$someVar==123 is not evaluated, so there will be no warnings such as "Undefined variable $someVar":
<?php
// $someVar=123; - commented line
if ((!empty($someVar))&&($someVar==123))
{
    echo 
$someVar;
}
?>

Function someFunc($someVar) will not be called:
<?php
// $someVar=123; - commented line
if ((!empty($someVar))&&(someFunc($someVar)))
{
    echo 
$someVar;
}
?>

This will give "Warning: Undefined variable $someVar" error. Order matters:
<?php
// $someVar=123;
if ((someFunc($someVar))&&(!empty($someVar)))
{
    echo 
$someVar;
}
?>
2024-07-31 12:46:42
http://php5.kiev.ua/manual/ru/control-structures.if.html

    Поддержать сайт на родительском проекте КГБ