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 ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
L'instruction if
est une des plus importantes
instructions de tous les langages, PHP inclus. Elle permet
l'exécution conditionnelle d'une partie de code. Les
fonctionnalités de l'instruction if
sont les mêmes en PHP qu'en C :
if (expression) commandes
Comme nous l'avons vu dans le paragraphe consacré aux
expressions,
expression est convertie en sa valeur
booléenne. Si l'expression vaut
true
, PHP exécutera l'instruction et
si elle vaut false
, l'instruction sera ignorée. Plus de détails sur les valeurs
qui valent false
sont disponibles dans la section
Conversion en booléen.
L'exemple suivant affiche la phrase a est plus grand que b si $a est plus grand que $b :
<?php
if ($a > $b)
echo "a est plus grand que b";
?>
Souvent, vous voulez que plusieurs instructions soient exécutées après un
branchement conditionnel. Bien évidemment, il n'est pas obligatoire de répéter
l'instruction conditionnelle if
autant de fois que vous
avez d'instructions à exécuter. À la place, vous pouvez rassembler toutes les
instructions dans un bloc. L'exemple suivant affiche a
est plus grand que b, si $a est plus grand
que $b, puis assigne la valeur de $a
à la variable $b :
<?php
if ($a > $b) {
echo "a est plus grand que b";
$b = $a;
}
?>
Vous pouvez imbriquer indéfiniment des instructions
if
dans d'autres instructions if
, ce qui
permet une grande flexibilité dans l'exécution d'une
partie de code suivant un grand nombre de conditions.
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 ?>
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;
}
?>
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!
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.
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.