12
votes

Générer des combinaisons de mots

Par exemple, c'est mon texte: xxx pré>

i explosez le texte et la liste avec tableau: p> xxx pré>

Je veux générer des mots dans Tableau à quelque chose comme ceci: P>

buy new
buy new windows
buy microsoft 
buy microsoft windows
buy windows
new microsoft
new microsoft windows
new windows
microsoft windows


10 commentaires

Les mots générés sont-ils créés au hasard? Windows New Microsoft sera-t-il valide?


Voulez-vous toutes les permutations possibles ou juste une combinaison aléatoire ?


@Luzhin oui ils sont créés au hasard.Et ce n'est pas important qui soit valide.


@Deceze Tout peut être meilleur. Mais si génère comme ma demande, c'est parfait.


@Nuller Qu'en est-il de Windows Nouveau Windows ou Nouveau nouveau nouveau ?


@Teneff Non, je n'ai pas besoin de mots.


Peut-être que vous pourriez expliquer la logique derrière l'exemple que vous donnez? Parce que je ne peux vraiment en voir aucun.


La commande est-elle importante pour vous?


@Deceze Utilisez ceci pour générer des balises de mon poste de titre.


@Karolis non son pas important, mais je veux générer comme cette liste.


5 Réponses :


15
votes

Vous pouvez consulter ce package Pear Exemple d'utilisation: xxx

La sortie sera la suivante: xxx


4 commentaires

Je faisais mes propres permutations, exemple, mais c'est mieux. : P


Y a-t-il une chance de générer comme ma demande?


Vous pouvez essayer vos mains sur cet emballage de poirier. Il offre beaucoup de fonctions


La réponse ne correspond pas à la sortie souhaitée. Voir la réponse de Paulraj ci-dessous.



6
votes
shuffle($array);
echo join(' ', array_slice($array, 0, mt_rand(1, count($array))));
This gives you one random "sentence". Repeat as necessary.

1 commentaires

Pouvez-vous expliquer comment répertorier l'avant-poste?



3
votes
buy new microsoft windows
new buy microsoft windows
buy microsoft new windows
microsoft buy new windows
new microsoft buy windows
microsoft new buy windows
buy new windows microsoft
new buy windows microsoft
buy windows new microsoft
windows buy new microsoft
new windows buy microsoft
windows new buy microsoft
buy microsoft windows new
microsoft buy windows new
buy windows microsoft new
windows buy microsoft new
microsoft windows buy new
windows microsoft buy new
new microsoft windows buy
microsoft new windows buy
new windows microsoft buy
windows new microsoft buy
microsoft windows new buy
windows microsoft new buy

1 commentaires

Pourriez-vous ajouter la sortie à votre réponse? Le commentaire est un peu difficile à lire;)



4
votes

trouvé de php.net shuffle doc xxx pré>

et les résultats seront, P>

Array
(
    [0] => windows
    [1] => microsoft
    [2] => microsoft windows
    [3] => new
    [4] => new windows
    [5] => new microsoft
    [6] => new microsoft windows
    [7] => buy
    [8] => buy windows
    [9] => buy microsoft
    [10] => buy microsoft windows
    [11] => buy new
    [12] => buy new windows
    [13] => buy new microsoft
    [14] => buy new microsoft windows
)


3 commentaires

Cela devrait être la réponse. Une telle solution élégante aussi.


Les ensembles de puissance ne contiennent pas d'inversions, par exemple, "Windows NEW" n'est pas là.


@Saeven La question ne nécessite pas l'inversion, alors répondit-il en conséquence.



0
votes

Pour toutes les combinaisons possibles, j'ai amélioré @sujitagarwal Réponse:

Télécharger MATH_COMBINATOEIES . P>

Array
(
  [0] => buy
  [1] => microsoft
  [2] => windows
  [3] => buy microsoft
  [4] => microsoft buy
  [5] => buy windows
  [6] => windows buy
  [7] => microsoft windows
  [8] => windows microsoft
  [9] => buy microsoft windows
  [10] => buy windows microsoft
  [11] => microsoft windows buy
  [12] => microsoft buy windows
  [13] => windows buy microsoft
  [14] => windows microsoft buy
)


0 commentaires