Search code examples
phpcode-formattingreadabilityif-statementsemantics

How to correctly format PHP 'IF ELSE' statements?


It's been a long running issue that I've come across in many-a-hot-and-steamy coding sessions.

One person codes this way another codes that way. So after much push and pull I'm curious... Is there any correct way of phrasing a PHP 'IF ELSE' statement?

Personally I use the:

if ($variable == 'setvalue')
{
    $variable = executefunctiononvariable($variable);
} else {
    $variable = executedifferentfunctiononvariable($variable);
}

After many arguments though I've been presented with other options such as:

if ($variable == 'setvalue')
{
    $variable = executefunctiononvariable($variable);
}
else
{
    $variable = executedifferentfunctiononvariable($variable);
}

OR

if ($variable == 'setvalue')
    $variable = executefunctiononvariable($variable);
else
    $variable = executedifferentfunctiononvariable($variable);

OR

if ($variable == 'setvalue') {
    $variable = executefunctiononvariable($variable);
} else {
    $variable = executedifferentfunctiononvariable($variable);
}

Solution

  • I personally format my if/else like the last one:

    if ($variable == 'setvalue') {
        $variable = executefunctiononvariable($variable);
    } else {
        $variable = executedifferentfunctiononvariable($variable);
    }
    

    Your version is kind a mixture of 1 and 3, in my mind.

    I have also worked with coders that do all of them and have never heard of a standard one.

    The php website uses the last one: https://www.php.net/manual/en/control-structures.elseif.php

    I also use the second example in some cases when the if statement will always be very short. If there's ever a possibiltiy of it getting longer (more than 1 line each) I'll do #1. I try to avoid #2 when possible cause it's hard to add the {} later.