Se trata del operador ternario (tres argumentos)
?: y sí, es como un if else.
El operador valúa lo que esté antes del
?. Si es
true devuelve el segundo argumento (entre
? y
:), y si es
false devuelve el último argumento (después de
:).
Así, en
Código PHP:
($value=='on') ? '*' : '';
se compara $value con 'on'. Si coinciden , la expresión devuelve '*' y en caso contrario ''. Como todo el operador ternario devuelve un valor, eso se lo puedes asignar a otra variable, como es el caso:
Código PHP:
$method = ($value=='on') ? '*' : '';
Los paréntesis no son necesarios pero dan más claridad.
Saludos