【问题标题】:Why does boolval(false) return empty in php?为什么 boolval(false) 在 php 中返回空?
【发布时间】:2016-06-29 13:47:56
【问题描述】:

我有点困惑 php 函数 boolval 的工作原理。考虑以下

<?php echo boolval(true); // prints 1

对比

<?php echo boolval(false); // prints nothing?

为什么我没有返回真/假?为什么boolval(false) 什么也没返回?

我在尝试解析 $argv 以获取布尔参数时遇到了这个问题。如果不使用此函数,从$argv 中提取布尔值的正确方法是什么?

【问题讨论】:

  • var_dump(boolval(false)); var_dump(!!$argv);
  • 或者只是echo false;

标签: php


【解决方案1】:

来自php manual

布尔值 TRUE 转换为字符串“1”。布尔值 FALSE 是 转换为“”(空字符串)。这允许转换回来和 介于布尔值和字符串值之间。

使用

echo $boolres ? 'true' : 'false';

【讨论】:

    【解决方案2】:

    按照文档中的示例,这将是显示布尔值的方式:

    echo 'false: '.(boolval(false) ? 'true' : 'false')."\n";
    

    见:http://php.net/manual/en/function.boolval.php

    手册还说:

    布尔值 TRUE 转换为字符串“1”。布尔值 FALSE 是 转换为“”(空字符串)。这允许转换回来和 介于布尔值和字符串值之间。

    见:http://php.net/manual/en/language.types.string.php

    【讨论】:

      猜你喜欢
      • 2011-05-22
      • 2011-02-24
      • 2014-07-03
      • 2014-12-29
      • 1970-01-01
      • 2013-09-18
      • 2014-09-25
      • 2014-11-17
      • 2014-03-11
      相关资源
      最近更新 更多