如果 > 3 个选定的选项相同 php

if > 3 selected choices are the same php

我试图解决这个问题,但无法深入了解,因此恳请您提供帮助。我能解释的最好方法是举个例子。

假设您有 6 个 select 框,用户可以在其中从列表中选择项目,一旦提交,值将通过 "GET" 发送并在屏幕上显示结果。

我该如何检查 6 个 selected 选项中是否有 3 个或更多选项相同?我知道如何从 GET 获取 selected 值,但不知道如何检查 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>

您的答案是@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 */
}