Jump statements (return, break, continue, goto) and throw expressions move control flow out of the current code block. So any unlabelled statements that come after a jump are dead code.

Noncompliant Code Example

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

Compliant Solution

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

See