сравнение строк php - PullRequest
       8

сравнение строк php

1 голос
/ 30 ноября 2011

Я пытаюсь сравнить определенную часть URL, чтобы получить список окончаний (которые являются ресурсом / 'location', где location - это либо инициалы состояния, либо строка).Я использую это, чтобы заполнить выпадающее меню.Это хорошо работает с двухбуквенными состояниями, но когда я сравниваю строки, все равно отображаются дубликаты.Это код, с которым я работаю, а '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 ]

2 голосов
/ 30 ноября 2011

Использование 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';
}
0 голосов
/ 30 ноября 2011

почему вы даже используете strcmp? Кроме того, почему вы сбрасываете $ location?

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

Не уверен, что может послужить причиной дубликатов, но мне нужен пример для игры, чтобы понять это.

РЕДАКТИРОВАТЬ: игнорировать вышесказанное, после прочтения другого ответа я вижу, что вы пытаетесь достичь. Вопрос был не очень ясен по этому поводу.

...