0

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

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

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

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

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

4

3 回答 3

1

就像代码简化器...如果您不检查 $required 是否等于特定值,则:

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

应该与此相同:

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

empty() 正是你所追求的:“确定一个变量是否被认为是空的。如果一个变量不存在或者它的值等于 FALSE ,它就被认为是空的。empty () 如果变量不生成警告不存在。[...]以下内容被认为是空的:

"" (一个空字符串)"

http://us1.php.net/empty

于 2013-10-09T15:58:47.670 回答
0

我猜想 C# 的等价物string.IsNullOrEmptyempty()PHP 中。如果该值未设置 (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()是反函数

于 2013-10-09T15:58:56.267 回答
0

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

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

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

于 2013-10-09T16:01:56.143 回答