0
votes

Exploser la chaîne au tableau (PHP)

Je voulais exploser la chaîne dans ce genre de sortie

Compte tenu de la valeur de chaîne $ string = "bonjour monde hey;

Fonction d'explosion sera l'appel immédiat si vous vouliez avoir une sortie de matrice de chaîne ["Hello", "World", "Hey"]

Cependant, c'est le genre de sortie que je veux atteindre ["hello", "monde", "hey", "bonjour monde", "monde hey"]

Une idée de la façon de résoudre ce problème?


5 commentaires

Exploser la chaîne en mots puis créer des combinaisons uniques des mots.


Avez-vous une solution que je peux regarder?


Ceci suive lorsque la chaîne est supérieure à 3 mots.


Pourquoi pas monde hey aussi comme une sortie?


Qu'est-ce que tu as essayé jusque-là? Où es-tu coincé? Quelle est la règle derrière la division de cette façon?


3 Réponses :


1
votes
Array
(
    [0] => Hello
    [1] => World
    [2] => Hey
    [3] => Hello World
    [4] => World Hey
)

2 commentaires

Ecoute bonne chance, vous pouvez l'améliorer en définissant le $ i Démarrer à 1, puis vous pouvez supprimer la condition.


@catcon, mais alors j'aurais toujours besoin d'un cas si pour la dernière itération (décalage non défini)



0
votes
["Hello","World","Hey","Hello World","World Hey"]

0 commentaires

2
votes

Si votre objectif est d'obtenir les pièces individuelles ainsi que de la correspondance qui se chevauchent pour le courant et le mot suivant, une solution alternative pourrait être d'utiliser une expression.

Vous pouvez capturer les correspondances qui se chevauchent dans un groupe en utilisant un groupe en utilisant un groupe Lookahead positif et capturer également les "mots simples" en faisant correspondre 1 fois plus de caractères de pages blanche et à l'aide d'un groupe de réinitialisation de la branche (? | xxx

Résultat xxx

Démo modèle | < un href = "https://3v4l.org/rdldk" rel = "nofollow noreferrer"> Démo PHP

Si vous souhaitez que les mots actuels et les 2 suivants, vous pourriez utiliser un groupe et quantificateur {2}

Démo PHP < / p>


0 commentaires