【问题标题】:PHP Function to Display Textual Representation of Boolean Value用于显示布尔值的文本表示的 PHP 函数
【发布时间】:2013-02-27 13:13:09
【问题描述】:

是否有一个 PHP 函数将“1”的布尔设置的文本版本显示为“True”或“On”等?

我知道如何使用 if() 语句来实现它,但我搜索并找不到任何可能是实现此目的的捷径。

谢谢。

【问题讨论】:

  • 我不知道你是否会称它为快捷方式,但 json_encode() 正是这样做的。 Rawkode answer中提供的功能更快更干净,您应该使用它
  • 你说得对@BenM .. 之前有人问过并回答过。感谢您的链接。
  • 不幸的是,该问题的公认答案是正确的,但不是“最正确”的答案......

标签: php boolean


【解决方案1】:

您正在寻找 var_export:

var_export(true, true) : string = "true"

如果你有一个整数值,你可以预先使用类型杂耍:

var_export((bool) 1, true)
: string = "true"
var_export((bool) 0, true)
: string = "false"

在尝试使用字符串“On”和“Off”运行之前,请参阅关于类型杂耍http://php.net/manual/en/language.types.type-juggling.php 的章节 - 第一个将评估为真,后一个将 - 猜测! (我会帮忙的,这也是真的)。所以要小心。然而,空字符串将被强制转换为 false。

【讨论】:

  • 我对这个问题的理解是,作者想要一个将布尔值转换为文本的函数,例如 True 或 On,而不是确定文本本身的布尔值。
  • 嗯,var_export 就是这样做的。如您所见,结果是一个字符串(在我的理解中是文本)。请参阅 var_export 的手册,尤其是第二个“return”参数:“如果使用并设置为 TRUE,则 var_export() 将返回变量表示形式而不是输出它。”
【解决方案2】:
function boolToText($bool) {
  return $bool ? 'True' : 'False';
}

【讨论】:

  • 好的,谢谢@Rawkode。它的外观、行为和需要与 if() 语句一样多的代码。不过看起来不错。
  • return var_export((bool) $bool, true);的结果相同
  • 但是不能更改输出,如果他们希望返回“On”或“Off”。无论如何,我认为这并不重要,两种方式都会按照要求进行。
猜你喜欢
  • 2021-11-07
  • 1970-01-01
  • 1970-01-01
  • 2021-03-24
  • 1970-01-01
  • 2017-06-14
  • 1970-01-01
  • 2021-12-23
  • 1970-01-01
相关资源
最近更新 更多