0

取り組んでいる問題で迷っています。

いくつかのラジオ ボタンと送信ボタンを含む HTML フォームがあります。このフォームから、ユーザーはラジオ ボタンの 1 つを選択し、[送信] をクリックできます。これにより PHP スクリプトが開始され、スクリプトは、ラジオ ボタンから選択された数字と一致しない文字列から単語を抽出します。

私は HTML には慣れていますが、PHP にはもう少し問題があります。

これが私が立ち往生している場所です:

    $myTok = strtok($fileContents, "\"!@#$%^&*(1234567890).,:;'_?\n\t-[]~{}");

while ($myTok != false){

    $myTok = strtok( "\"!@#$%^&*(1234567890).,:;'_?\n\t-[]~{}");

        foreach ($myTok as $key => $value){
            if (strlen($value == 1)){
                                   //not sure how to return the value to the $resultWords variable here

}
}

$resultWords = 

文字列があります (例: 「PHP スクリプトに苦労しています。」) strtok() 関数を使用して、必要のない区切り文字を削除しています。 foreach ループですが、単語のみが必要です。

したがって、foreach ループでは、すべてのトークン値を調べて、単語がユーザーが選択した長さと一致するかどうかを確認します。これらは、文字列から削除したい単語です。したがって、ユーザーがラジオボタン 4 を選択した場合、新しい文字列は「PHP スクリプトを使用しています」のようになります。 foreach() ループを使用してこれを実行したいと考えています。私の最大の混乱は、変更された文字列をループから変数 $resultWords に戻す方法、または foreach ループの設定が正しく開始されているかどうかです。

foreach ループの前に、explode() 関数を使用してすべてを配列にすることをお勧めしますか? 申し訳ありませんが、私はこれで少し初心者です。

4

1 に答える 1

2

以下の方法でスクリプトを変更できます。

$resultWords  = array();
foreach ($myTok as $key => $value){

 if (strlen($value == 1)){

        $resultWords[] = $value;                   

    }
}

//Make use of the array now. 
foreach($resultWords as $key => $value) {

    //$value will contain the words

}
于 2012-10-26T18:12:17.440 に答える