微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

strcmp返回-1而不是0

如何解决strcmp返回-1而不是0

我以为我了解PHPstrcmp()函数,直到我编写了在为'1'拍摄时生成'0'代码。 我正在测试的代码使用$CSvstandard将.gz文件第一行中的字符串与字符串变量strcmp()进行比较。

$gzstr = 'user_2020-06-24_000test.csv.gz';
$openFile = gzopen($gzstr,"r");
$gzgetsBuffer = gzgets($openFile);
gzclose($openFile);

$CSvstandard ='"user_id","create_time","last_process_day","expiry_time","billing_zip","shipping_zip","domain","os_type","delivery_date","fwd_enabled_date"';
$c=(strcmp($CSvstandard,$gzgetsBuffer));

echo "gzgetsBuffer:"."<br>".$gzgetsBuffer."<br>";
echo "CSvstandard:"."<br>".$CSvstandard."<br>";
echo "Output of strcmp():   ".$c."<br>";

echo "Reverse parameters in strcmp():  ".(strcmp($gzgetsBuffer,$CSvstandard));

我也颠倒了参数,得到了-1。有没有隐藏的东西或gzgets()使用的指针,我看不到?

以下是输出

Output gzgets:
"user_id","fwd_enabled_date"
CSvstandard:
"user_id","fwd_enabled_date"
Output of strcmp(): -1
Reverse parameters in strcmp(): 1

解决方法

我认为您的代码是正确的。但是user_2020-06-24_000test.csv文件具有一些隐藏的内容,例如换行'\ n'。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。