将布尔值转换为文本值的最简洁的逻辑是什么

本文关键字:简洁 是什么 布尔值 转换 文本 | 更新日期: 2023-09-27 18:34:31

我发现自己经常用PHP和C#编写与此非常相似的代码

print isset($required) ? ($required ? "required" : "not required") : "not required";

感觉我应该能够做这样的事情

print falseornull($required) ? "not required" : "required"

我可以在 PHP 或 C# 中为我编写一个函数来执行此操作,但我想知道这两种语言中是否已经存在某些内容?在 C# 中,我知道有string.IsNullOrEmpty检查空白字符串。其他类型的等价物吗?

将布尔值转换为文本值的最简洁的逻辑是什么

就像一个代码简化器... 如果不检查$required是否等于特定值,请执行以下操作:

print isset($required) ? ($required ? "required" : "not required") : "not required"; 

应该和这个一样:

print empty($required) ? "not required" : "required";

empty(( 所做的正是您所追求的:"确定变量是否被视为空。如果变量不存在或其值等于 FALSE,则将其视为空。如果变量不存在,empty(( 不会生成警告。[...]以下内容被视为空:

"(空字符串(">

http://us1.php.net/empty

只是添加一个C#替代方案:

bool? b = .... ;
Console.WriteLine(b.GetValueOrDefault(false) ? "istrue" : "isnottrue");

免责声明,在没有编译器的情况下编写C#但应该GetValueOrDefault :)

我想相当于

C# string.IsNullOrEmpty在 PHP 中是empty()的。 如果未设置该值 (NULL( 或设置为 false,它将返回true

// We'll set some variables in PHP
$variable1 = null;
$variable2 = 0;
$variable3 = false;
// Variable that doesn't exist, because we've commented it out
// $variable4 = 'something';
// When put into the function like so
print empty($variable1) ? true : false; // true
print empty($variable2) ? true : false; // false
print empty($variable3) ? true : false; // true
print empty($variable4) ? true : false; // true

以下是函数 http://php.net/manual/en/function.empty.php 的文档

isset()是相反的函数