Это называется условным оператором, и я бы посчитал это злоупотреблением им. Условные операторы могут быть полезны для сокращения коротких конструкций if-else в один оператор, не влияя на читабельность кода.
if(a == b)
c = d;
else
c = e;
//can be written as:
c = a == b ? d : e;
Данный код может быть записан как:
return ($output ?
'<div class="' . $this->style_links . '">' . $output . '</div>'
: '') .
'<div class="' . $this->style_results . '">' .
sprintf($this->text,
($total) ?
(($page - 1) * $limit) + 1
: 0,
((($page - 1) * $limit) > ($total - $limit)) ?
$total
: ((($page - 1) * $limit) + $limit),
$total, $num_pages) . '</div>';
И эквивалентно:
if($output)
$str = '<div class="' . $this->style_links . '">' . $output . '</div>';
else
$str = '';
$str .= '<div class="' . $this->style_results . '">';
if($total)
$first = (($page - 1) * $limit) + 1;
else
$first = 0;
if((($page - 1) * $limit) > ($total - $limit))
$second = $total;
else
$second = ((($page - 1) * $limit) + $limit);
$str .= sprintf($this->text, $first, $second, $total, $num_pages);
$str .= '</div>';