gettype

(PHP 4, PHP 5)

gettype — Get the type of a variable

Описание

string gettype ( mixed $var )

Returns the type of the PHP variable var .

Внимание

Never use gettype() to test for a certain type, since the returned string may be subject to change in a future version. In addition, it is slow too, as it involves string comparison.

Instead, use the is_* functions.

Список параметров

var

The variable being type checked.

Возвращаемые значения

Possibles values for the returned string are:

Коментарии

Автор:
Same as for "boolean" below, happens with integers. gettype() return "integer" yet proper type hint is "int". 

If your project is PHP8+ then you should consider using get_debug_type() instead which seems to return proper types that match used for type hints.
2022-01-20 20:59:34
http://php5.kiev.ua/manual/ru/function.gettype.html
Be careful comparing ReflectionParameter::getType() and gettype() as they will not return the same results for a given type.

string - string // OK
int - integer // Type mismatch
bool - boolean // Type mismatch
array - array // OK
2023-06-11 15:37:35
http://php5.kiev.ua/manual/ru/function.gettype.html
Since ReflectionParameter::getType() and gettype() do not return the same type name, you can leverage the strpos() function.

use DateTime;
use ReflectionClass;

$myVar = 45;
# get the type of your variable
$varType = gettype($myVar);
$cls = new ReflectionClass(DateTime::class);
$mth = $cls->getMethod('setDate');
$params = $mth->getParameters();
foreach($params as $param) {
    $paramTypes = $param instanceof ReflectionUnionType
    ? $param->getTypes()
    : [$param];
    foreach($paramTypes as $paramType) {
        if (strpos($paramType, $varType) >= 0) {
            echo "Parameter '". $paramType->getName() ."' has type '". $paramType->getType() ."' which matches the variable's type of '$varType'.\n";
        }
    }
}
2024-05-15 11:33:48
http://php5.kiev.ua/manual/ru/function.gettype.html

    Поддержать сайт на родительском проекте КГБ