Mélange de manière aléatoire les éléments d'un tableau. Exemple pratique avec l'intégration d'un tableau HTML pour l'affichage des éléments du tableau PHP. Autre exemple pour mélanger un tableau de tableaux.
<?php/*---------------------------------------------------------------*//* Titre : Mélange aléatoirement les éléments d'un tableau URL : https://phpsources.net/code_s.php?id=218 Date édition : 07 Fév 2007 Date mise à jour : 12 Aout 2019 Rapport de la maj: - fonctionnement du code vérifié - maintenance du code *//*---------------------------------------------------------------*/ // Code de base $nombres = range(1,20); srand((float)microtime()*1000000); shuffle($nombres); foreach ($nombres as $nombre) { echo "$nombre "; }?> Exemple pratique : Ce code affiche les éléments du tableau de manière aléatoire. De la même manière que le code ci dessus. Cette exemple pratique à  la particularité d'afficher les éléments dans un tableau HTML. Vous pouvez paramétrer le nombre de colonnes que vous souhaitez voir en sortie écran. <?php $tablo = array('Paris', 'Moscou', 'Berlin', 'France', 'Russie', 'Allemagne'); srand((float)microtime()*1000000); shuffle($tablo); $nbcol = 2; // mettez le nombre de colonnes dont vous avez besoin echo '<table border="1">'; $nb=count($tablo); for($i=0;$i<$nb;$i++) { //les valeurs à  afficher $valeur1=$tablo[$i]; if($i%$nbcol==0) echo '<tr>'; echo '<td>',$valeur1,'</td>'; if($i%$nbcol==($nbcol-1)) echo '</tr>'; } echo '</table>'; ?> La toute dernière fonction c'est comment mélanger un tableau de tableau. Pour faire cela nous allons mélanger les clés du tableau et nous allons faire une relecture du tableau à  partir du nouvelle ordre des clés. Nous stockerons le résultat dans un tableau de transit et nous retournerons le résultat dans la fonction. <?php function melange($array) { $val = array(); $keys = array_keys($array); shuffle($keys); foreach($keys as $key) $val[] = $array[$key]; return $val; }?>
<?php $new_tab = melange($tablo); ?> <pre> <?php print_r($new_tab); ?> </pre> Affiche (exemple aléatoire) Array ( [0] => Paris [1] => Berlin [2] => Allemagne [3] => France [4] => Russie [5] => Moscou )
Merci pour la fonction mélange.
Je viens de tester chez moi et pas d'erreur.
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' ??
Présentation de PHP
PHP débutant et initié 50 Tutoriel
Présentation de MySQL
07 Fév 2007
Dernière mise à jour :
Invité
10 Nov 2009 à 02:01Merci pour la fonction mélange.
Forty
21 Avril 2009 à 15:52Je viens de tester chez moi et pas d'erreur.
Invité
21 Avril 2009 à 00:20Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' ??