dp9599 2017-10-15 09:47
浏览 83
已采纳

PHP ReflectionMethod没有获得param的默认布尔值

When I try to get the value of a boolean param, with ReflectionMethod, that have a default value set, I got empty result.

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

I get this:

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

Is there a way to get the default value of a param with reflection?

  • 写回答

1条回答 默认 最新

  • dpgua04022 2017-10-15 10:01
    关注

    print_r function outputs string representation of values. String representation of false is empty string. To see real values that you have in an array, use var_dump:

    var_dump($params);
    

    After that you will see that:

    ["async"]=>bool(false)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
  • ¥15 差动电流二次谐波的含量Matlab计算
  • ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
  • ¥15 C#如何调用串口数据
  • ¥15 MATLAB与单片机串口通信
  • ¥15 L76k模块的GPS的使用
  • ¥15 请帮我看一看数电项目如何设计
  • ¥23 (标签-bug|关键词-密码错误加密)
  • ¥66 比特币地址如何生成taproot地址
  • ¥20 数学建模数学建模需要