params) - 1; $removedParamKeys = []; foreach ($paramKeysToBeRemoved as $paramKeyToBeRemoved) { $startNextKey = $paramKeyToBeRemoved + 1; for ($nextKey = $startNextKey; $nextKey <= $totalKeys; ++$nextKey) { if (!isset($classMethod->params[$nextKey])) { // no next param, break the inner loop, remove the param break; } if (\in_array($nextKey, $paramKeysToBeRemoved, \true)) { // keep searching next key not in $paramKeysToBeRemoved continue; } return []; } unset($classMethod->params[$paramKeyToBeRemoved]); $removedParamKeys[] = $paramKeyToBeRemoved; } return $removedParamKeys; } }