2017-06-20 19 views
0

私はこれを理解しようとしましたが、その底部には到達できませんので、ご支援をお願いします。私が説明できる最良の方法は、一例です。選択した3つ以上の選択肢が同じPHPの場合

6つの選択ボックスがあるとします。ユーザーがリストから項目を選択し、一度送信すると値が「GET」で送信され、結果が画面に表示されます。

6つの選択肢のうち3つ以上が同じであるかどうかを確認するにはどうすればよいですか?私はGETから選択された値を取得する方法を知っていますが、3つ以上が同じ選択であるかどうかをチェックする方法はありません。

ご協力いただきますようお願い申し上げます。

よろしく

<select class="form-control"> 
      <option value="" disabled="" selected="">Select Choice</option> 
      <option value="choice1" >Choice 1</option> 
      <option value="choice1">Choice 2</option> 
      <option value="choice1">Choice 3</option> 
     </select> 
<select class="form-control"> 
      <option value="" disabled="" selected="">Select Choice</option> 
      <option value="choice1" >Choice 1</option> 
      <option value="choice1">Choice 2</option> 
      <option value="choice1">Choice 3</option> 
     </select> 
<select class="form-control"> 
      <option value="" disabled="" selected="">Select Choice</option> 
      <option value="choice1" >Choice 1</option> 
      <option value="choice1">Choice 2</option> 
      <option value="choice1">Choice 3</option> 
     </select> 
<select class="form-control"> 
      <option value="" disabled="" selected="">Select Choice</option> 
      <option value="choice1" >Choice 1</option> 
      <option value="choice1">Choice 2</option> 
      <option value="choice1">Choice 3</option> 
     </select> 
<select class="form-control"> 
      <option value="" disabled="" selected="">Select Choice</option> 
      <option value="choice1" >Choice 1</option> 
      <option value="choice1">Choice 2</option> 
      <option value="choice1">Choice 3</option> 
     </select> 
<select class="form-control"> 
      <option value="" disabled="" selected="">Select Choice</option> 
      <option value="choice1" >Choice 1</option> 
      <option value="choice1">Choice 2</option> 
      <option value="choice1">Choice 3</option> 
     </select> 
+3

array_count_values' 'と私は –

+0

あなたは配列としてGETするためにそれらを渡しているか、彼らは別の名前で個々のGET変数であると仮定?コードを投稿すると役立ちます。 – WheatBeak

+0

ユーザーはどのようにして同じことを複数回選択して開始できますか? – apokryfos

答えて

1

あなたの答えは、最初の場所でsugggested @u_mulderものです:あなたの要求のサブセットにarray_count_values

ただし、まず選択肢に名前を付けなければなりません。

<select name='select[]' class="form-control"> 
     <option value="" disabled="" selected="">Select Choice</option> 
     <option value="choice1" >Choice 1</option> 
     <option value="choice1">Choice 2</option> 
     <option value="choice1">Choice 3</option> 
    </select> 
<select name='select[]' class="form-control"> 
     <option value="" disabled="" selected="">Select Choice</option> 
     <option value="choice1" >Choice 1</option> 
     <option value="choice1">Choice 2</option> 
     <option value="choice1">Choice 3</option> 
    </select> 
<select name='select[]' class="form-control"> 
     <option value="" disabled="" selected="">Select Choice</option> 
     <option value="choice1" >Choice 1</option> 
     <option value="choice1">Choice 2</option> 
     <option value="choice1">Choice 3</option> 
    </select> 
<select name='select[]' class="form-control"> 
     <option value="" disabled="" selected="">Select Choice</option> 
     <option value="choice1" >Choice 1</option> 
     <option value="choice1">Choice 2</option> 
     <option value="choice1">Choice 3</option> 
    </select> 
<select name='select[]' class="form-control"> 
     <option value="" disabled="" selected="">Select Choice</option> 
     <option value="choice1" >Choice 1</option> 
     <option value="choice1">Choice 2</option> 
     <option value="choice1">Choice 3</option> 
    </select> 
<select name='select[]' class="form-control"> 
     <option value="" disabled="" selected="">Select Choice</option> 
     <option value="choice1" >Choice 1</option> 
     <option value="choice1">Choice 2</option> 
     <option value="choice1">Choice 3</option> 
    </select> 

(それがループ内で行われている可能性のようなこれが感じる)

例えば名前のリストを収集

それぞれが選択された回数をチェック:

if (max(array_count_values($_GET['select'])) >= 3) { 
    /* 3 of the same value selected */ 
} 
+0

ありがとうございました。似たようなものが見つからず、自分で調べようとしましたが、array_count_valuesについて知りませんでしたので、質問がダウン投票された理由はわかりません。 – DisplayName

+0

@DisplayNameわかりません。おそらく、それが最初から100%はっきりしていなかったので、誰かがそれを見て、その問題のために下降してから放っておいたでしょう。時々起こる。 – apokryfos

+0

非常に真です。お返事をありがとうございます – DisplayName

関連する問題