PHP if statement syntax

Contributor Icon Contributed by qmchenry  
Tag Icon Tagged: PHP programming  

Examples of using the “if” command in PHP.

The simplest if statement executes command(s) if a condition evaluates as true:

if ($var > 0 ) {
// code here run if $var is positive
echo "Square root is: ".sqrt($var);
}

An optional else block can be added to execute code if the test condition evaluates as false. Multiple lines of code must be enclosed within { braces } while a single statement can be used in an if statement without braces.

if ($var >= 0 )
echo "Square root is: ".sqrt($var);
else {
$negvar = -1*$var;
echo "Square root is: ".sqrt($var)."i";
}

If statements can be nested:

if ($var < 10)
echo "var is less than 10";
elseif ($var < 20)
echo "var is between 10 and 20";
elseif ($var < 30)
echo "var is between 20 and 30";
else
echo "var is greater than 30";

A compact (if cryptic) shorthand is useful:

echo "var is ".($var < 0 ? "negative" : "positive");

is equivalent to:

echo "var is ";
if ($var < 0)
echo "negative";
else
echo "positive";

The shorthand can be considered (expression ? true_value : false_value) where 'expression' is evaluated and, if true, the 'true_value' is returned, otherwise the 'false_value' is returned.

 

8 Comments -


  1. Tom Elders said on January 9, 2009

    I think describing the ternary operator “?” as an if statement is a bit misleading. For example, inside a while loop:

    while($row = mysql_fetch_row):
    if($condition = true) { $something = $value }
    endwhile;

    that works. However, consider the following

    while($row = mysql_fetch_row):
    $something = ($condition = $true) ? $value : null;
    endwhile;

    If the condition is met, everything works fine, but on the next iteration of the loop, if the condition is not met, $something is set to null, which is probably not the desired effect 9 times out of 10.

  2. peace love said on January 16, 2009

    Thats a great shorthand, and gives good readability!

  3. Sagar said on May 20, 2009

    yes, ternary condition does give a problem

    I would advise the following as well

    while($row = mysql_fetch_row):
    if($condition = true) { $something = $value }
    endwhile;

  4. Sagar said on May 20, 2009

    My above suggestion is the same as what Tom Elders suggested. I support it

  5. Name said on August 19, 2009

    I am a novie in php programming.I was looking for “elseif” in php and this writ up heloped me to do it..

    Thanking you
    Anand V Mohan

  6. davak said on August 22, 2009

    Glad we could help!

  7. php programming said on September 18, 2010

    Done a excellent job in this blog, Alternatively create a great blog for the readers specially for PHP programming. Thanks.

  8. bajick said on September 25, 2010

    This is great!!! Nway, is there any way to shorthand the nested if statement?

 

RSS feed for comments on this post. TrackBack URL

Leave a comment -