2017-10-15 81 views
0

当我尝试获取具有默认值集的布尔参数的值和ReflectionMethod时,我得到空结果。PHP ReflectionMethod没有得到参数的默认布尔值

有了这个代码:

public function GetOrderBook($symbol = null, $limit = 100, $async = false) 
    { 
     if ($symbol !== null) { 

      $params = []; 
      $ref = new \ReflectionMethod($this, 'GetOrderBook'); 

      foreach ($ref->getParameters() as $param) { 
       $name = $param->name; 
       $params[$name] = $$name; 
      } 

      print_r($params); 
     } 
    } 

我得到这个:

Array ( 
     [symbol] => ETHBTC 
     [limit] => 100 
     [async] => 
) 

是否有一种方式来获得与反思的特性参数的默认值?

+0

'[异步] =>'意味着异步的值为'FALSE' ,因为'false'的字符串表示是空字符串。使用'var_dump'而不是'print_r',你会看到真正的值。 –

回答

0

print_r函数输出字符串表示值。 false的字符串表示形式为空字符串。要看到在阵列具有实数值,使用var_dump

var_dump($params); 

之后,你会看到:

["async"]=>bool(false)