Apparently this does not return true for callback arguments to many of the internal functions, such as array_map and array_walk.(PHP 5 >= 5.4.0, PHP 7, PHP 8)
ReflectionParameter::isCallable — Returns whether parameter MUST be callable
Ця функція ЗАСТАРІЛА, починаючи з PHP 8.0.0. Вкрай не рекомендується на неї покладатися.
See the example below for an alternative way to derive this information.
Наразі ця функція не документована. Доступний лише список її параметрів.
У цієї функції немає параметрів.
   Returns true if the parameter is callable, false if it is
   not or null on failure.
  
| Версія | Опис | 
|---|---|
| 8.0.0 | This function has been deprecated in favor of ReflectionParameter::getType() instead. | 
Приклад #1 PHP 8.0.0 equivalent
As of PHP 8.0.0, the following code will report if a type supports callables, including as part of a union.
<?php
function declaresCallable(ReflectionParameter $reflectionParameter): bool
{
    $reflectionType = $reflectionParameter->getType();
    if (!$reflectionType) return false;
    $types = $reflectionType instanceof ReflectionUnionType
        ? $reflectionType->getTypes()
        : [$reflectionType];
   return in_array('callable', array_map(fn(ReflectionNamedType $t) => $t->getName(), $types));
}
?>Apparently this does not return true for callback arguments to many of the internal functions, such as array_map and array_walk.