Make WordPress Core

Changes between Version 1 and Version 2 of Ticket #51525, comment 21


Ignore:
Timestamp:
02/02/2021 05:59:15 PM (4 years ago)
Author:
herregroen
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #51525, comment 21

    v1 v2  
    2727 */
    2828function is_type( $type, $value ) {
    29         if ( $type === 'mixed' ) {
    30                 return true;
     29        switch( $type ) {
     30                case 'boolean':
     31                        return is_bool( $value );
     32                case 'integer':
     33                        return is_int( $value );
     34                case 'double':
     35                        return is_float( $value );
     36                case 'string':
     37                        return is_string( $value );
     38                case 'array':
     39                        return is_array( $value );
     40                case 'object':
     41                        return is_object( $value );
     42                case 'resource':
     43                case 'resource (closed)':
     44                        return is_resource( $value );
     45                case 'NULL':
     46                        return is_null( $value );
     47                case 'unknown_type':
     48                        return false;
     49                case 'mixed':
     50                        return true;
     51                default:
     52                        return is_a( $value, $type ) || is_subclass_of( $value, $type );
    3153        }
    32         if (
    33                 in_array(
    34                         $type,
    35                         [
    36                                 'boolean',
    37                                 'integer',
    38                                 'double',
    39                                 'string',
    40                                 'array',
    41                                 'object',
    42                                 'resource',
    43                                 'resource (closed)',
    44                                 'NULL',
    45                                 'unknown type',
    46                         ],
    47                         true
    48                 )
    49         ) {
    50                 switch( $type ) {
    51                         case 'boolean':
    52                                 return is_bool( $value );
    53                         case 'integer':
    54                                 return is_int( $value );
    55                         case 'double':
    56                                 return is_float( $value );
    57                         case 'string':
    58                                 return is_string( $value );
    59                         case 'array':
    60                                 return is_array( $value );
    61                         case 'object':
    62                                 return is_object( $value );
    63                         case 'resource':
    64                         case 'resource (closed)':
    65                                 return is_resource( $value );
    66                         case 'NULL':
    67                                 return is_null( $value );
    68                         default:
    69                                 return false;
    70                 }
    71         }
    72 
    73         return is_a( $value, $type ) || is_subclass_of( $value, $type );
    7454}
    7555}}}