私はユーザー入力(文字列)を取って、すべての可能な長さの単語の組み合わせ(配列)のリストに変換したいが、順番に並んでいる組み合わせだけを保持したい。PHP:文字列内の任意の長さのシーケンスをすべて見つけるにはどうすればよいですか?
ので、下記のPHPに記載された配列は、最終的に次のようになり、次のように
$newArray = ["this","string","will","be","chopped","up","this string","will be","be chopped","chopped up","this string will","string will be","be chopped up"];
私のコード(動作しない)は次のとおりです。
PHP
$str = "This string will be chopped up.";
$str = strtolower($str);
$strSafe = preg_replace("/[^0-9a-z\s-_]/i","",$str);
$array = explode(" ", $strSafe);
$newArray = [];
$newArrayEntry = [];
for($counter=0; $counter < COUNT($oneword); $counter++) {
// List single words - as in array $oneword.
echo "One word: ";
echo $oneword[$counter];
echo "<br />";
$counterTwo = $counter+1;
if($counterTwo <= COUNT($oneword)) {
$newArrayEntry[COUNT($newArrayEntry)] = $oneword[$counter];
print "Adding counter One to newArray Entry: ".$oneword[$counter]."<br />";
for($counterThree=($counter+1); $counterThree < $counterTwo; $counterThree++) {
$newArrayEntry[COUNT($newArrayEntry)] = $oneword[$counterThree];
if($counterThree - $counterTwo == 1) {
$newArrayEntry[COUNT($newArrayEntry)] = $oneword[$counterTwo];
print "Adding counter Two to newArrayEntry: ".$oneword[$counterTwo]."<br />";
}
}
$newArrayString = join(' ', $newArrayEntry);
$newArray[COUNT($newArray)] = $newArrayString;
}
}
「の文字列がします」がありません... – trincot
限りあなたは...あなたの配列に値を追加するためにプッシュを使用することができますし、カウンターのループであなたにも別のカウンタを必要とします私はあなたの基本的な配列をさまざまなポイントと異なる長さからループすることがわかります。 – Medda86
ありがとうございました! trincotとは何を意味するのかわかりません。 –