我在PHP中如何检查字符串是否为空我的字符串输出是这样的,当我使用var_dump($string)
时
string(101)“”
我试过了
if(empty($string))
也试过了
if($string == '')
我也试过了
trim($string)
删除空格但仍然不能正常其他而不是如果条件。
当我使用htmlspecialchars($string)
时,它会在其中返回一个注释的html,如果我在其中注释了HTML,我怎么能忽略这个html或使这个字符串为空。
答案 0 :(得分:1)
如果empty
对您不起作用,则您在获取字符串时遇到问题。 empty
和strlen
都不会为您提供所需的结果(因为您的字符串长度为var_dump
建议的101个字符)。
strlen
用于获取字符串中的字符数;而empty
用于测试变量是否实际为空:
empty(""); //will return true
strlen(""); // will return 0
我对两种可能性进行了基准测试:
for($i=0; $i<1000000000; $i++)
{
strlen("");
}
// This process used 333595 ms for its computations
// It spent 30 ms in system calls
for($i=0; $i<1000000000; $i++)
{
empty("");
}
// This process used 73732 ms for its computations
// It spent 14 ms in system calls
所以empty
更快。
答案 1 :(得分:0)
评论是对的,你可以在检查字符串的长度时检查字符串是否为空。
PHP中的函数是strlen($ string)。 它会给你0或长度,所以你可以抓住0
if (strlen($string) === 0){};