1--TEST-- 2ReflectionParameter::getDefaultValueConstantName() should also work for parameters of internal functions. 3--FILE-- 4<?php 5$class = new ReflectionClass('DateTime'); 6$method = $class->getMethod('setTime'); 7 8foreach ($method->getParameters() as $parameter) { 9 try { 10 var_dump($parameter->getDefaultValueConstantName()); 11 } catch (ReflectionException $exception) { 12 echo $exception->getMessage() . "\n"; 13 } 14} 15 16echo "----------\n"; 17 18$class = new ReflectionClass('DateTimeZone'); 19$method = $class->getMethod('getTransitions'); 20 21foreach ($method->getParameters() as $parameter) { 22 try { 23 var_dump($parameter->getDefaultValueConstantName()); 24 } catch (ReflectionException $exception) { 25 echo $exception->getMessage() . "\n"; 26 } 27} 28 29echo "----------\n"; 30 31$class = new ReflectionClass('DateTimeZone'); 32$method = $class->getMethod('listIdentifiers'); 33 34foreach ($method->getParameters() as $parameter) { 35 try { 36 var_dump($parameter->getDefaultValueConstantName()); 37 } catch (ReflectionException $exception) { 38 echo $exception->getMessage() . "\n"; 39 } 40} 41 42?> 43--EXPECT-- 44Internal error: Failed to retrieve the default value 45Internal error: Failed to retrieve the default value 46NULL 47NULL 48---------- 49string(11) "PHP_INT_MIN" 50string(11) "PHP_INT_MAX" 51---------- 52string(17) "DateTimeZone::ALL" 53NULL 54