Nasıl kaldırılır tamamen bir diziden yinelenen değerleri?

0 Cevap

Ben benim veritabanı bu görünebilir aynı satır içinde farklı sanatçılar ve şarkı başlıkları ile kurulmuş bir web sitesi var:

artist: The Monkees, title: I'm A Believer
artist: The Monkees, title: Daydream Believer
artist: The Hollies, title: The Air That I Breathe
artist: The Hollies, title: Bus Stop
artist: The Beatles, title: Hello, Goodbye
artist: The Beatles, title: Yellow Submarine

Ve ben 'artist' değerleri ile dolu bir json_encoded dizi beslenir sitemin arama formu ile kurulmuş bir otomatik tamamlama widget'ı var.

İlk sorun, bir kullanıcı "" arama forma yazmaya başlamak olsaydı, değerleri bu gibi yukarı gelirdi ki:

The Monkees
The Monkees
The Hollies
The Hollies
The Beatles
The Beatles

Yani yinelenen değerleri kaldırmak için array_unique fonksiyon kullanılır, ancak bir değer, bir kelime çoğaltmak (bu durumda "" olarak) olsa bile, bu yüzden sadece ilk değer döndürülür, tamamen çıkarıldığından emin görünüyor:

The Monkees

Nerede istiyorum çıkış olacaktır:

The Monkees
The Hollies
The Beatles

Peki, ben bu yinelenen değerleri kaldırmak ve onları ben istiyorum yol göstermek başka bir yolu olabilir?

EDIT:

İşte benim kaynak kodu:

<?php

include 'includes/config.php';

$return_arr = array();
$term = ($_GET['term']);

if ($con)
{
$artist = mysql_query("SELECT * FROM songs WHERE artist LIKE '%$term%' LIMIT 0, 5");
while ($row = mysql_fetch_array($artist, MYSQL_ASSOC)) {

$row_array['value'] = strtolower($row['artist']);

array_push($return_arr,$row_array);
  }
}

mysql_close($con);

echo json_encode(array_unique($return_arr));
?>

0 Cevap