Andrew
Andrew

Reputation: 238777

PHP syntax question

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');

Upvotes: 2

Views: 252

Answers (2)

Teej
Teej

Reputation: 12873

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';
    }
}

Upvotes: 0

Josh Leitzel
Josh Leitzel

Reputation: 15199

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).

Upvotes: 5

Related Questions