original_string: protected static function typeof($v): string
      {
          if (is_bool($v)) {
              return 'bool';
          } elseif (is_int($v)) {
              return 'int';
          } elseif (is_float($v)) {
              return 'float';
          } elseif (is_string($v)) {
              return 'string';
          } elseif (is_array($v)) {
              return 'array';
          } elseif (is_resource($v)) {
              return 'resource';
          }
          return get_class($v);
      }
code: protected static function typeof($v): string
      {
          if (is_bool($v)) {
              return 'bool';
          } elseif (is_int($v)) {
              return 'int';
          } elseif (is_float($v)) {
              return 'float';
          } elseif (is_string($v)) {
              return 'string';
          } elseif (is_array($v)) {
              return 'array';
          } elseif (is_resource($v)) {
              return 'resource';
          }
          return get_class($v);
      }
code_tokens: protected static function typeof ( $ v ) : string { if ( is_bool ( $ v ) ) { return 'bool' ; } elseif ( is_int ( $ v ) ) { return 'int' ; } elseif ( is_float ( $ v ) ) { return 'float' ; } elseif ( is_string ( $ v ) ) { return 'string' ; } elseif ( is_array ( $ v ) ) { return 'array' ; } elseif ( is_resource ( $ v ) ) { return 'resource' ; } return get_class ( $ v ) ; }
docstring: More predictable results than `gettype`.
  
  @param mixed $v The value to evaluate
docstring_tokens: More predictable results than gettype .