Why is this an issue?

Nested ternaries are hard to read and can make the order of operations complex to understand.

function get_readable_status($is_running, $has_errors) {
  return $is_running ? "Running" : ($has_errors ? "Failure" : "Succeeded");  // Noncompliant
}

Instead, use another line to express the nested operation in a separate statement.

function get_readable_status($is_running, $has_errors) {
  if ($is_running) {
    return "Running";
  }
  return $has_errors ? "Failure. " : "Succeeded ";
}

Exceptions

Exclusively chained shorthand ternary operators ?: are excluded from this rule.

$result = $option1 ?: $option2 ?: 'default'; // Compliant by exception