2012-01-09 19 views
0

私は次のコードを持っていますが、配列ユニークは単純に機能しません。array_uniqueは機能しませんか?

クエリによるグループがすでに使用されていますが、データは各サブジェクトごとにいくつかのレコードを取得します。

私はDVDタイトルのテーブルを見て、これらの結果を返すことがあります。

Goodfellas - 2010 remaster 
Goodfellas (2006) 
Goodfellas: 2011 remastered remaster of a remaster from last year 

私が唯一のユーザーにタイトルを表示したいので、私はトリム、その後、最初の非文字/数字の文字の後にすべてのものを取り除きます

$query = "SELECT title FROM PRprodINFO2 WHERE ((prodcatID = '$cat_id') AND (title LIKE \"%" . $_GET["q"] . "%\")) group by title LIMIT 8"; 

$result = mysql_query($query); 

$output_items = array(); 

while($row = mysql_fetch_array($result)) { 

$output_items[] = $row[$title]; 

} // end while 

// remove non characters 
$output_items = preg_replace('/[^\w\s].*$/', "", $output_items); 

$output = array_unique($output_items); 

print(implode("\n", $output)); 

mysql_close(); 
+0

は、あなただけの完璧なご使用のアレイますprint_r($ output_items) –

答えて

3

あなたがそれらをトリミングされていない:()、これ単語Goodfellasここ の3つのインスタンスを作成するコードです!そのようにしてみてください。

$output_items = preg_replace('/[^\w\s].*$/', "", $output_items); 
$output_items = array_map('trim', $output_items); 

$output = array_unique($output_items); 

print(implode("\n", $output)); 
+0

多くの感謝を、印刷することができます。 –

0

は単純に使用します。

$array = array_unique($array, SORT_REGULAR); 
関連する問題