php字符串比较

时间:2011-11-30 14:51:26

标签: php strcmp

我正在尝试比较网址的特定部分以获取结尾列表(这是资源/'位置',其中位置是状态首字母或字符串)。我正在使用它来填充下拉菜单。这适用于2个字母的状态,但是当我比较字符串时它仍然显示重复。这是我正在使用的代码,'National'是重复的字符串,不会被过滤掉。

$url = explode("/", $row['url']);
if(strcmp(trim($location[$url[2]]),trim($url[2])) != 0)
{
    $location = array($url[2] => $url[2]);
    echo '<option>'.$location[$url[2]].'</option>\n';
}

有没有更好的方法来比较字符串?

2 个答案:

答案 0 :(得分:2)

使用in_array()(http://php.net/manual/en/function.in-array.php)

$location = array();
$url = explode("/", $row['url']);
if(!in_array($url[2], $location))
{
    $location[$url[2]] = $url[2];
    echo '<option>'.$location[$url[2]].'</option>\n';
}

答案 1 :(得分:0)

为什么你甚至使用strcmp? 另外,你为什么要重置$ location?

$url = explode("/", $row['url']);
if(trim($location[$url[2]]) != trim($url[2]))
{
    echo '<option>'.$url[2].'</option>\n';
}

不确定会导致重复的原因,我想我需要有一个例子可以解决这个问题。

编辑:忽略上述内容,在阅读完其他答案后,我看到了您要实现的目标。问题不是很清楚。