Eh bien d'après le commentaire, vous êtes également satisfait d'une réponse théorique.
Si vous avez votre tableau avec toutes les lignes, utilisez array_unique()
pour se débarrasser des lignes en double, utilisez shuffle()
pour les mélanger et à la fin vous pouvez prendre une tranche avec array_slice()
.
MODIF :
Vous pouvez l'améliorer lorsque vous ne sélectionnez déjà pas de lignes en double, vous n'avez alors pas besoin d'utiliser array_unique()
. Pour cela, utilisez DISTINCT
. Et si vous voulez tout faire dans une requête, vous pouvez faire quelque chose comme ceci :
SELECT DISTINCT column FROM table
ORDER BY RAND()
LIMIT 1000