繁体   English   中英

PHP-比较两个字符串

[英]php - compare two strings

我有这部分PHP代码:

<?php
$dns = file_get_contents('./dns.txt');

$dns2 = 'serverquery://name:pass@example.com:10011/?server_port=9987&use_offline_as_virtual=1&no_query_clients=1';

$dns3 = 'serverquery://name:pass@' . $dns . ':10011/?server_port=9987&use_offline_as_virtual=1&no_query_clients=1';

if (strcmp($dns2, $dns3) !== 0) {
    echo '$dns2 is not equal to $dns3';
}

echo '<br><br>DNS<br>';
print $dns;
echo '<br><br>DNS2<br>';
print $dns2;
echo '<br><br>DNS3<br>';
print $dns3;
echo '<br><br><br>';

?>

文件dns.txt只包含文字example.com ,开头或结尾没有空格

当我运行此代码时,结果是:

$dns2 is not equal to $dns3

DNS
example.com

DNS2
serverquery://name:pass@example.com:10011/?server_port=9987&use_offline_as_virtual=1&no_query_clients=1

DNS3
serverquery://name:pass@example.com:10011/?server_port=9987&use_offline_as_virtual=1&no_query_clients=1

我正在尝试为TeamSpeak 3服务器创建serverquery,它仅在使用$ dns2且我希望它与$ dns3一起使用时才有效

所以我的问题是:为什么$ dns2不等于$ dns3

你能帮我么 ?

您的dns.txt文件中有一些隐藏的字符。 确保它编码为没有 BOM的UTF-8。

UTF-8 BOM是字节序列(EF BB BF),因此需要三个字符的开销。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM