当您只需要显示结果或根据硬编码的已知数据类型值进行简单检查时,将整数转换为字符串是没有用的。只有在需要严格针对特定数据类型验证值时,转换数据类型才有用。
你的问题是你不知道如何测试你的价值观。0
, 无论是整型值还是字符串值,与==
)中。如果需要检查任何变量是否为空或有值,包括0
作为字符串或整数值,则需要调整运算符。
供您特别检查和禁止/允许0
作为有效/无效值,您需要使用strick比较,这里的数据类型很重要。快一点0 === "0"
将为false作为整数0
与字符串不完全相同"0"
请注意,您的条件语句是错误的,这就是一切失败的地方。检查时0
strictly (===
) 具有NULL
或is_null
, 结果将为false,正在检查0
具有empty()
将返回true,这将执行||
条件语句中的运算符。
在您的用例中,您可以执行以下操作以允许整数值0
作为有效值和所有其他值,并且不允许使用空字符串
if ( !$approved_comments_count // Universal check to see if empty, will consider false as empty too
&& 0 !== $approved_comments_count // Test for integer 0
) {
echo \'$approved_comments_count is a true empty string\';
} else {
echo \'The value of $approved_comments_count is \' . $approved_comments_count;
}
甚至更好
if ( $approved_comments_count // Allows anything that does not equal empty
|| 0 === $approved_comments_count // Test for integer 0
) {
echo \'The value of $approved_comments_count is \' . $approved_comments_count;
} else {
echo \'$approved_comments_count is a true empty string;
}
如果
0
哪里是字符串,您可以测试它
0
如下所示
\'0\' === $approved_comments_count
或
"0" === $approved_comments_count