Gaylord.P a écrit :
...
Tu penses que ce serait possible de réaliser 'en casacade' ? C'est à dire mélanger tous les mots entre eux, mais sans s'arrêter à deux. D'aller jusque 3, 4 voir plus ... exemple bonjour au revoir salut ; bonjour salut au revoir, bonjour salut aurevoir test, etc
...
Oui c'est possible »
<?php
$br = '<br />';
# -- 1 = index[0] et index[1] --
$nombreIndex = 1;
# --
$matrice = array('bonjour', utf8_decode('ça va ?'), 'merci', utf8_decode('à plus tard'), 'bonne fin de semaine', 'es-tu malade ?', 'je crois oui', 'sinon on verra');
$phrase = '';
# --
for ($j = 0; $j <= $nombreIndex; $j++)
{
# --
$aleatoire = array_rand($matrice);
# --
echo $br . 'Compteur ' . $j . ' => ' . $aleatoire . ' Appelle' . $br;
echo '<xmp>';
print_r($matrice) . $br;
echo '</xmp>';
# --
$phrase .= $matrice[$aleatoire] . ' - ';
# -- On supprime des index à chaque itération --
unset($matrice[$aleatoire]);
}
# -- Affichage --
echo $br . $br . utf8_decode('Générateur de phrases') . ' : ' . $br . $br . $phrase;
?>
Seuls les array sont en cascade : le générateur lui n'est pas en cascade. Mais c'est possible de faire en cascade avec le générateur de phrases.
Tu peux changer la valeur de $nombreIndex sans allez plus loin que la longeur de $matrice.
Si donc il y a 10 index : $nombreIndex pourra prendre la valeur entre 0 et 9;
» Tu veux joindre 2 phrases|mots : $nombreIndex = 1;
» Tu veux joindre 3 phrases|mots : $nombreIndex = 2;
» Tu veux joindre 5 phrases|mots : $nombreIndex = 4; etc.
Exemples de résultats »
$nombreIndex = 1 ) bonjour - ça va ?
$nombreIndex = 2 ) bonne fin de semaine - ça va ? - es-tu malade ?
Les données sont brut au navigateur : en 2 étapes distinctes.
1 ) print_r () avec <xmp> pour le formatage des arrays
2 ) générateur de phrases.
Tu remarqueras aussi que la valeur de $nombreIndex gère le nombre de array () avec des index en moins à chacun, puisque » unset ($matrice ($aleatoire)); agit à chaque itération.
Ne joue qu'avec la valeur de $nombreIndex pour voir correctement les changements.
Évidemment le script peut être modifier et ajuster pour plus de performances.
Script inspirer de :
zenko » dont le but est de générer des password's à longeur variable.
J'ai voulu comprendre mieux, en étudiant le script et le présenter.
Si quelqu'un veut poursuivre, tant mieux. Ne reste plus qu'à utiliser l'effet de cascade sur le générateur de phrases.
..
Modifié par zardoz (27 Jul 2011 - 01:08)