相同字串不相等的問題
本帖最後由 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"
}
原因很明顯了吧?
其實你在瀏覽器中查看網頁原始碼就可以發現的