if

(PHP 4, PHP 5, PHP 7)

Konstrukcja if jest jedną z najważniejszych możliwości wielu języków, w tym PHP. Pozwala na warunkowe wykonywnie fragmentów kodu. PHP udostępnia strukturę if, która jest podobna do tej w C:

if (wyrażenie)
  operacja

Jak napisano w rozdziale o wyrażeniach, wyrażenie jest wykonywane do jego wartości logicznej. Jeżeli wyrażenie uzyskało wartość TRUE, PHP wykona podane operacje, a jeżeli uzyskało FALSE, to zostanie zignorowane. Więcej informacji o tym jakie wartości dają w rezultacie FALSE można znaleźć w rozdziale 'Konwersja do wartości logicznej'.

Następujący przykład wyświetli a jest większe niż b jeśli $a jest większe niż $b:

<?php
if ($a $b)
  echo 
"a jest większe niż b";
?>

Często chciałbyś wykonać warunkowo więcej niż jedną operację. Oczywiście nie ma potrzeby otaczać każdej z nich osobną instrukcją if. Zamiast tego, możesz zebrać kilka wyrażeń w grupę wyrażeń. Przykładowo, ten kod wyświetli a jest większe niż b, jeżeli $a is jest większe niż $b, a następnie przypisze wartość $a do $b:

<?php
if ($a $b) {
  echo 
"a jest większe niż b";
  
$b $a;
}
?>

Instrukcje if mogą być zagnieżdżane bez końca w innych instrukcjach if, co pozwala Ci na pełną elastyczność warunkowego wykonywania części Twojego programu.

add a note add a note

User Contributed Notes 10 notes

up
188
robk
9 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
5
kemalcelikturk at gmail dot com
1 year ago
Normal if example;

if($value["cargostatus"]==0):

     echo 'In the Procurement Process';

elseif ($value["cargostatus"]==1):

     echo 'In packaging';

elseif ($value["cargostatus"]==2):

     echo 'In cargo';

else:
     echo 'not specified';
endif;

Multiple comparison operator example in a single line;

($value["cargostatus"] == "0") ? 'In the Procurement Process' : (($value["cargostatus"] == "1") ? 'In packaging
' : (($value["cargostatus"] == "2") ? 'In cargo' : 'not specified'))

What should not be forgotten;
After the first query, a parenthesis will be added to the end of each comparison.
up
37
Christian L.
11 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
19
techguy14 at gmail dot com
11 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
8
cole dot trumbo at nospamthnx dot gmail dot com
5 years ago
Any variables defined inside the if block will be available outside the block. Remember that the if doesn't have its own scope.

<?php
$bool
= true;
if (
$bool) {
   
$hi = 'Hello to all people!';
}
echo
$hi;
?>

It will print 'Hello to all people!'

On the other hand, this will have no output:

<?php
if (false) {
   
$hi = 'Hello to all people!';
}
echo
$hi;
?>
up
17
grawity at gmail dot com
14 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.
up
5
Donny Nyamweya
11 years ago
In addition to the traditional syntax for if (condition) action;
I am fond of the ternary operator that does the same thing, but with fewer words and code to type:

(condition ? action_if_true: action_if_false;)

example

(x > y? 'Passed the test' : 'Failed the test')
up
-2
mparsa1372 at gmail dot com
1 year ago
<?php

//Print the day or night message by if command

$t = date("H");

if (
$t < "20") {
  echo
"Have a good day !";
    if (
$t > "20") {
    echo
"Have a good Night!";
    }
  }

?>
up
-11
Ahmed Youssef Elshrief
2 years ago
You can use this syntax :

if (condition):

     // your code

else if:

  // your code

else:
  // Your code

endif ;
up
-26
aliashour592 at gmail dot com
2 years ago
//to use if condition and html together

<?php if(condition) : ?>

// just html code

<?php  elseif( condition ): ?>

// just html code

<?php  else: ?>
// just html code
<?php endif?>
To Top