code: protected function parse(array &$names, array &$params, int $defaultValue) : int
      {
          $value = array_reduce(array_intersect_key($params, $names), function ($carry, $item) {
              return $carry !== null ? $carry : (is_numeric($item) ? (int)$item : null);
          });
          return $value === null ? $defaultValue : $value;
      }
docs: Gets the first numeric value from `$params`, otherwise `$defaultValue`.
  
  @param array $names
  @param array $params
  @param int $defaultValue
  @return int