相同字符串不相等的问题
本帖最后由 qq_24844315 于 2014-12-31 12:16:38 编辑 说明:从一个页面采集ip和端口,$ip和$duankou是采集的,然后发现不能用,但是手动输入可以用,对比了
两个字符串,发现长度不相同,但是编码相同,请教这该怎么办
现在是 $b 是有效的,$a无效,
$a=tcp://.$ip.:.$duankou;
$b=tcp://77.81.105.147:7808;
echo $a.
;
echo $b.
;
$encode = mb_detect_encoding($a, array(ascii,utf-8,gb2312,gbk,big5));
$encodes= mb_detect_encoding($b, array(ascii,utf-8,gb2312,gbk,big5));
echo $encode.
;
echo $encodes.
;
$changdu1= strlen($a);
$changdu2= strlen($b);
echo $changdu1.
;
echo $changdu2;
if($a==$b)
{
echo 相等;
}
else
{
echo 不等;
}
输出:
//字符
tcp://77.81.105.147:7808
tcp://77.81.105.147:7808
//编码
ascii
ascii
//长度
42
24
//结果
不等
------解决思路----------------------
$s = 'yto0ontpoja7uzoyndoidgnwoi8vnzcuodeumta1lje0nzo3oda4ijtpoje7uzo0mjoidgnwoi8vphrkpjc3ljgxljewns4xndc8l3rkpjo8dgq+nzgwodwvdgq+ijtpoji7uzo1oijbu0njssi7atozo1m6ntoiqvndsukio30=';
$a = unserialize(base64_decode($s));
var_dump($a);
array(4) {
[0]=>
string(24) tcp://77.81.105.147:7808
[1]=>
string(42) tcp://77.81.105.147 :7808
[2]=>
string(5) ascii
[3]=>
string(5) ascii
}
原因很明显了吧?
其实你在浏览器中查看网页源代码就可以发现的