2017-10-15 88 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)