2017-10-15 37 views
0

Lorsque j'essaie d'obtenir la valeur d'un paramètre booléen, avec ReflectionMethod, qui a une valeur par défaut, j'ai un résultat vide.PHP ReflectionMethod n'a pas la valeur booléenne par défaut du paramètre

Avec ce code:

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); 
     } 
    } 

Je reçois ceci:

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

Y at-il un moyen d'obtenir la valeur par défaut d'un param avec réflexion?

+0

'[async] =>' signifie que la valeur de async est 'false' , car la représentation sous forme de chaîne de 'false' est une chaîne vide. Utilisez 'var_dump' au lieu de' print_r' et vous verrez des valeurs réelles. –

Répondre

0

print_r sorties de fonction chaîne représentation des valeurs. La représentation sous forme de chaîne de false est chaîne vide. Pour voir les valeurs réelles que vous avez dans un tableau, utilisez var_dump:

var_dump($params); 

Après cela, vous verrez que:

["async"]=>bool(false)