PHP:无效的字符串不让我比较正确

问题描述:

真的很奇怪的字符串正在出于某种原因在数组内生成,我不知道如何处理它...我得到字符串并输出它与下面的代码:PHP:无效的字符串不让我比较正确

$server = '{imap.gmail.com:993/ssl}'; 
    $connection = imap_open($server, 'myuser', 'mypass'); 
    $count = imap_num_msg($connection); 
    $header = imap_headerinfo($connection, $i); 
    for($i = 1; $i <= $count; $i++) { 
     $from = $header['fromaddress']; 
     var_dump($from); 
    } 

这是结果我从得到的var_dump:

string(39) "Support Testing1" 

这怎么可能?而且是有这影响了我的代码什么办法可以将其转换成正确的字符串(我的意思是,用正确的长度?)

,因为现在:

echo ('Support Testing1' == $from) 

给了我假的,当它应该是真实的。有任何想法吗?谢谢!

更新:修剪也不起作用。

+0

'trim($ header ['fromaddress'])== $ header ['fromaddress']'? – greg0ire

+0

你可以从你的代码中多提一点吗? – bksi

+0

这个问题的背景是什么?看起来它是关于一个PHP邮件脚本? –

我最好的猜测是,$header['fromaddress']真的像

"Support Testing1" <[email protected]> 

而且你看不到的电子邮件地址在var转储,因为浏览器将它像一个HTML标记。

如果是这样,那么你需要删除<...>,也可能是双引号。

您可以尝试查看源HTML来确认。

尝试:

$from = trim($header['fromaddress'])); 

有可能会被隐藏在两端的空白字符。

+0

谢谢,但仍然得到相同的结果... – luqita

错误的长度可能是编码问题!

尝试:

var_dump(utf8_decode($header['fromaddress']));