- mb_strlen: documentation ( source)
- version_compare: documentation ( source)
<?php
$closure1 = function(integer $param1) {
return $param1 * 2;
};
$closure2 = function(string $param1) {
return mb_strlen($param1);
};
foreach (['preg_replace', $closure1, $closure2] as &$func) {
$reflection = new ReflectionFunction($func);
if (version_compare(PHP_VERSION, '7.0.0') >= 0) {
echo $reflection->getReturnType()." ";
}
echo $reflection->getName()." [";
foreach($reflection->getParameters() as &$param) {
// PHP 7.0+ required for get type
if (version_compare(PHP_VERSION, '7.0.0') >= 0) {
if ($param->hasType()) {
echo $param->getType().($param->allowsNull() ? '|null' : '')." ";
}
}
echo ($param->isOptional() ? '[' : '').$param->getName().($param->isOptional() ? ']' : '');
echo "; ";
}
echo "]";
echo "\n\n\n";
}
?>