2017-03-10 3 views
-2

(PHP) Wie kann ich eine Zeichenfolge in mehreren Strings durch Komma getrennt gespalten,Split-String durch, um wie 3x2x1

mag, ist, ich habe eine Zeichenfolge "Hello my neighbor",

dann nach dem Split-Prozess, sollte es sein

("Hello my neighbor","Hello my","Hello neighbor","my neighbor","Hello","my","neighbor")

+0

Ich würde eine Funktion machen, die maximale Länge von Combo-Array als Argument, 3 in Ihrem Fall und die Eingabezeichenfolge dauert. Verwenden Sie dann explode() für die Zeichenfolge, um ein Array von Teilzeichenfolgen durch Leerzeichen (oder ein anderes Trennzeichen) getrennt zu machen. Führen Sie anschließend eine rekursive Funktion innerhalb dieser aus, die eine neue Zeichenfolge implodiert(), die jedes Mal mit einem anderen Element beginnt, ein neues Element hinzufügt Führt einen Check durch, ob diese Kombination bereits existiert. All dies wahrscheinlich innerhalb einiger for Schleife mit $ i Bimbonkens

+0

die Sache, die Sie brauchen, ist, um alle möglichen Permutationen von Wörtern im Satz zu bekommen. Überprüfen Sie diesen Artikel http://docstore.mik.ua/orelly/webprog/pcook/ch04_26.htm – RomanPerekhrest

Antwort

0

versuchen Sie dies:

<?php 
 
$string = "Hello my neighbor"; 
 
$str = explode(" ",$string); 
 
$newArray = []; 
 
$newArray[] = $string; 
 
for($i = 0; $i<count($str); $i++) { 
 
\t if($i <= 1) { 
 
\t \t $newArray[] = $str[$i]." ".$str[$i+1]; 
 
\t \t if($i != 0) { 
 
\t \t \t $newArray[] = $str[$i-1]." ".$str[$i+1]; 
 
\t \t } 
 
\t } 
 
\t $newArray[] = $str[$i]; 
 
} 
 

 
echo "<pre>"; 
 
print_r($newArray); 
 
echo "</pre>";

+0

danke Herr, ich denke, es wird einige der Strings wiederholen –

+0

Ok ich den Code bearbeiten. Bitte überprüfe es jetzt – user3603789

Verwandte Themen