J'ai un site Web où ma base de données est mis en place avec différents artistes et titres de chansons dans la même ligne, où il pourrait ressembler à ceci:Comment supprimer uniquement des valeurs entièrement dupliquées d'un tableau?
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
Et j'ai un widget autocomplete mis en place avec le formulaire de recherche de mon site est alimenté par un tableau json_encoded rempli de valeurs 'artist'.
Le premier problème est que si un utilisateur devait commencer à taper "la" dans le formulaire de recherche, les valeurs viendrais comme ceci:
Les Monkees
Les Monkees
Les Hollies
The Hollies
les Beatles
les Beatles
J'utilise la fonction array_unique pour supprimer les valeurs en double, mais il semble que la veille n si une valeur a un mot en double (ce cas étant « le »), il est supprimé entièrement, de sorte que la première valeur est retournée:
Les Monkees
Lorsque la sortie, je voudrais avoir serait:
Les Monkees
The Hollies
Les Beatles
Alors, ce qui pourrait être une autre façon que je peux supprimer ces duplicate val ues et les afficher comme je le voudrais?
EDIT:
Voici mon code source:
<?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));
?>
Qu'en est-il juste de les filtrer dans la requête SQL en utilisant 'GROUP'? – deceze
Votre intuition est fausse, le bug n'est pas dans array_unique. Montrez-nous du code. –
Ajouté ma source. En fait, je sais que ce n'est pas un bug, je pense que c'est juste comme fonctionne array_unique? Je ne comprends pas entièrement. Je cherche donc une explication et peut-être une solution. – user389956