加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

将php函数返回值转换为true / false

发布时间:2020-12-13 16:03:39 所属栏目:PHP教程 来源:网络整理
导读:我首先提到这个 this,但它没有解决我的问题. 我有类似的东西: $message .= "ntWhether $testOutputDir is a directory:" . (!!is_dir($testOutputDir)) . "ntWhether $outputDir is a directory:" . is_dir($outputDir) . "ntWhether $outputDir is r
我首先提到这个 this,但它没有解决我的问题.

我有类似的东西:

$message .=   "ntWhether $testOutputDir is a directory:" . (!!is_dir($testOutputDir))
                . "ntWhether $outputDir is a directory:" . is_dir($outputDir)
                . "ntWhether $outputDir is readabale:" . is_readable($outputDir)
                ....

我只想打印如下内容:

Whether /a is a directory: true
       Whether /b is a directory: true

但它打印如下:

Whether /a is a directory: 1
       Whether /b is a directory: 1

有什么建议可以解决吗?

编辑:

我可以检查func == 1吗?真假.但我期待一个简单的演员或类似的.

解决方法

在PHP中,当一个布尔值转换为一个字符串时,你得到’1′(对于true)和”(空字符串,对于false).如果您不想要,则必须将布尔值显式转换为字符串.

没有任何演员可以获得你想要的结果.解决问题的一种方法是将您的值传递给此函数:

function stringForBool($bool) {
    return ($bool ? 'true' : 'false');
}

//use like:
echo stringForBool(isReadable($outputDir));

你也可以直接在你的代码中内联这个函数,而不是调用它,但是如果你使用它多次,那就会变得非常重复.

其他答案建议使用json_encode().虽然这肯定有效(如果你传入一个布尔值),如果传入的东西不完全正确或错误,你将无法获得预期的输出.当然,你可以调用json_encode((bool)$yourValue),这会给你你想要的东西,但(在我看来)它更神奇,更不明确.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读