Why is this an issue?

Some statements (return, break, continue, goto, switch) and throw expressions move control flow out of the current code block. So any unlabeled statements that come after such a jump are unreachable, and either this dead code should be removed, or the logic should be corrected.

Noncompliant code example

function fun($a) {
  $i = 10;
  return $i + $a;
  $i++;             // dead code
}

Compliant solution

function fun($a) {
  $i = 10;
  return $i + $a;
}

Resources