2011-11-03 92 views
-1

这里是我遇到的问题:我如何确保一个空字符串是PHP真的空

if($id!="") return true; else return false; 

我知道$id是一个空字符串,但是当我做var_dump($id),我得到string(25)""

由于某种原因,虽然字符串是空的,但它似乎仍认为它的长度是25.我试过if(!empty($id)),那也行不通。

如果字符串的值真的为空,我怎样才能将其值改为string(0)""

我试过使用trim()删除空格,但没有任何空格。

+0

如果首先通过'trim()'运行它会怎么样? – eaj

回答

0

PHP允许使用二进制字符串。它不显示为空的原因是因为它不是空的。您的字符串可能包含\0个字符,或其他非打印或零大小字符。你可以尝试使用trim(),但我不能保证它会去掉奇怪的字符。

2

它可能是浏览器不显示的空白。使用trim()将其删除:

$id = trim($id); 
+0

我想出了我自己的问题。当我回应字符串时,我什么也没有。但是当我在字符串上做了var_dump()时,我发现字符串中有25个字符。我在每个字符上对字符串的字符和var_dump做了foreach,发现字符串中有数据。循环的结果是'<? echo $ some_variable; ?>'。 PHP正在评估字符串中的表达式,导致看起来像一个空白字符串。但实际上,该字符串是一个25个字符的表达式,其计算结果为空字符串。 因此...在这种情况下''!''''''''''''''''''''''''''''''更有点令人沮丧。 – codescribblr

相关问题