2016-06-25 2 views

ответ

4

Это binary conditional operator введена в PHP 5.3. условный оператор РНР традиционно является тройной оператора (принимают три операнда), но двоичная (принимают два операнда) была добавлена ​​форма, что делает операнд между ? и : опционально:

Начиная с PHP 5.3, это можно опустить среднюю часть тернарного оператора. Выражение expr1 ?: expr3 возвращает expr1, если expr1 оценивает по TRUE и expr3 в противном случае.

Таким образом, в вашем примере, если $value является 'yes', то результат TRUE (1), так как результат значение первого выражения (в $value == 'yes'). Если $value не 'yes', результатом является 'Show Text'.

+1

Также известен как оператор elvis https://en.wikipedia.org/wiki/Elvis_operator –

+0

@SamDufel: Ах! И «до» в статье, конечно, в этой форме условный оператор * не является тройным оператором, он является двоичным оператором. Круто. –