views:

65

answers:

2

I found this line of code and I'm trying to comprehend what it's doing. The part I'm not familiar with is the question mark and the colon. What are these characters used for?

$string = $array[1] . ($array[0] === 47 ? '' : ' word');
+5  A: 

That's a ternary operator; basically a short-hand conditional.

It's the same as:

$string = $array[1];

if ($array[0] !== 47)
    $string .= ' word';

See this section in the PHP manual (the "Ternary Operator" section).

Josh Leitzel
+1 for explanation with similarity to normal code.
thephpdeveloper
A: 

That's the ternary operator.

Here's a reference to a tutorial

It works somehow like this:

function tern()

    if ($array[0] === 47)
    {
        return '';
    }
    else
    {
        return 'word';
    }
}
Thorpe Obazee