1

URLの特定の部分を比較して、末尾のリスト(locationが状態のイニシャルまたは文字列のいずれかであるresource /'location')を取得しようとしています。これを使用して、ドロップダウンメニューにデータを入力しています。これは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';
}

文字列を比較するためのより良い方法はありますか?

4

2 に答える 2

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';
}
于 2011-11-30T14:55:48.350 に答える
0

なぜstrcmpを使用しているのですか?また、なぜ$ locationをリセットするのですか?

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

何が重複を引き起こすのかはわかりませんが、それを理解するために試してみる必要があると思います。

編集:上記を無視してください、他の答えを読んだ後、私はあなたが達成しようとしていることを理解しています。質問はそれについてあまり明確ではありませんでした。

于 2011-11-30T15:01:09.923 に答える