Троичная форма - это, по сути, сокращение для if-> then-> else
Я обычно избегаю этого, потому что он не так уж и удобен для чтения.
$ip = ($_SERVER['HTTP_X_FORWARD_FOR']) ? $_SERVER['HTTP_X_FORWARD_FOR'] : $_SERVER['REMOTE_ADDR'];
логически эквивалентно:
if($_SERVER['HTTP_X_FORWARD_FOR']){
$ip = $_SERVER['HTTP_X_FORWARD_FOR'];
}else{
$ip = $_SERVER['REMOTE_ADDR'];
}
Следует сказать, что это именно то, для чего это чаще всего используется: инициализация переменной.Очень часто встречается в данных форм.