PHP字符串比较问题

时间:2019-04-10 12:02:01

标签: php

我不知道我要去哪里。

我之前做过很多字符串比较,而这个只是拒绝工作,下面是代码;

$comparison_string = 'Transfers';

if ($location_name_chk == 0)
    $location_name_chk = 'Not_Transfers_Location';

echo $location_name_chk;
if(strcasecmp($location_name_chk, $comparison_string) == 1) {
    echo 'Location not Transfers';
    die();

从本质上讲,它没有到达比较字符串的部分。

我可以100%确认$comparison string == Transfers以及$location_name_chk == Not_Transfers_Locationecho $location_name_chk确实在“网络显示”标签中正确显示。

有什么想法吗?我尝试了其他问题中遇到的各种不同想法,但都无济于事(修剪,strcasecmp等)

1 个答案:

答案 0 :(得分:1)

有时(实际上是总是),reading the manual会有所帮助。

  

strcasecmp(字符串$ str1,字符串$ str2):int

     

如果str1小于str2,则返回<0;否则,返回0。如果str1大于str2,则> 0;如果相等,则为0。

一些例子:

strcasecmp("abc", "Abc"); // 0

strcasecmp("abc", "Abcd"); // negative number (-1)

strcasecmp("abc", "Abcdefg"); // negative number (-4)

strcasecmp("Abcd", "abc"); // positive number (1)

strcasecmp("Abcdefg", "abc"); // positive number (4)

strcasecmp("abc", "def"); // negative number (-3)

strcasecmp("def", "abc"); // positive number (3)

在您的代码中,更改此内容:

if(strcasecmp($location_name_chk, $comparison_string) == 1)

对此

//     Notice this --------------------------------------V
if(strcasecmp($location_name_chk, $comparison_string) == 0)