如何比较从下拉框中选择的值与数组元素


How to compare a value selected from the drop down box with the array elements?

我有一个php文件,里面有两个数组

//script containing all the rublics and subrublics
$rublic[0]='rublic1';
$rublic[1]='rublic2';
$rublic[2]='rublic3';
$rublic[3]='rublic4';
$rublic[4]='rublic5';
$subrublic[0]='subrublic1';
$subrublic[1]='subrublic2';
$subrublic[2]='subrublic3';
$subrublic[3]='subrublic4';
$subrublic[4]='subrublic5';
?>

下拉框中显示了这些数组的元素。我需要做的是抓取用户从框中选择的元素,并将选择的索引号写入数据库字段。我怎么能这么做呢?

我将把我的代码贴在这里,即使我意识到我对这个问题的方法从一开始就是完全错误的:(

        //add the index number of the rublic and the subrublic to the db
    include('rublics.php');
    if(isset($_POST[' article_type']) && ($_POST['article_type'] != '0')){
        $rublic_selected = $_POST['article_type'];
        for($count_rublic=0;  $count_rublic<=10;  $count_rublic++){
            if($rublic_selected == $rublic[$count_rublic]) {
                $rublic_selected = $count_rublic;
            }
            if($rublic_selected == $subrublic[$count_rublic]){
                $rublic_selected = $count_rublic;
            }
        }
    } else {
        echo 'You did not make the selection. Please choose the type of the article.';
    }

您的下拉菜单可以/应该使用option元素上value属性的索引号。即:

<select id="article_type" name="article_type">
<option value="0">rublic1</option>
<option value="1">rublic2</option>
<option value="2">rublic3</option>
<option value="3">rublic4</option>
<option value="4">rublic5</option>
</select>

当表单被post到PHP脚本时,您已经有了正确的索引号来写入数据库。

试试这个,这应该是一个好的开始:

$rublic[0]='rublic1';
$rublic[1]='rublic2';
$rublic[2]='rublic3';
$rublic[3]='rublic4';
$rublic[4]='rublic5';
$subrublic[0]='subrublic1';
$subrublic[1]='subrublic2';
$subrublic[2]='subrublic3';
$subrublic[3]='subrublic4';
$subrublic[4]='subrublic5';
//$user_input = 'rublic3';
$user_input = 'subrublic4';
$options = array('rublic', 'subrublic');
foreach($options as $option_key => $option_value)
{
    foreach($$option_value as $key => $value)
    {
        if($value == $user_input)
        {
            echo 'found it at ', $option_value, ' ', $key;
            break;
        }
    }
}

基本上,我循环遍历两个数组,直到找到与正确用户输入匹配的字符串,并返回找到它的数组的名称(public或subbrublic)加上该数组的索引。