0
$data = explode("\n", trim($_GET['names']));
while($i < count($data)) {
  if(!in_array($data[$i], $unique_names)){
    $unique_names[] = $names[$i];
   }
   $i = $i + 1;
 }

このphpコードを使用して、テキストエリアから一意の結果のみを受け入れようとしています. 最後の文字列を除いて、すべての文字列に余分な空白があるため、機能していません。

IE "ジェフ" "フレッド" "ビル" "ジェフ"

したがって、ジェフは2回追加されます。

私の質問は次のとおりです。どうすればそのスペースを取り除くことができますか?? トリミングを試みましたが、意図したとおりに動作しません。

4

3 に答える 3

0

trim(string)開始と終了から空白を削除するために使用します。http://php.net/manual/en/function.trim.php

于 2013-02-08T00:57:21.503 に答える
0

まず、一意の値を手動で見つける必要はありません。を使用できますarray_unique()。第二に、trim()アレイでは機能しません。

試す:

$raw_names = explode("\n", $_GET['names']);
$trimmed_names = array_map('trim', $raw_names);
$unique_names = array_unique($trimmed_names);
于 2013-02-08T01:03:57.457 に答える
-1

kbaに触発された:

$data = explode("\n", trim($_GET['names']));
foreach ($data as &$e) {
    $e = trim($e);
}
$unique_names = array_unique($data);
于 2013-02-08T01:03:15.697 に答える