Php:如果输入值是x,y或z做东西

时间:2014-09-26 10:54:39

标签: php

在html页面中我有这个输入:

<input type="text" name="my_input" id="my_input">

使用PHP,如果用户在输入中输入“sun”,“moon”,“stars”这两个词,我希望脚本能够做到。

像这样的东西,只是不知道如何写得正确:

if (my_input.value == "sun,moon,stars") {
do stuff
}

非常感谢!

5 个答案:

答案 0 :(得分:7)

使用in_array()

if( in_array($_POST['my_input'], array("sun", "moon", "stars")) ) {
   //Do stuff
}

答案 1 :(得分:4)

有几种方法可以实现这一目标。有些人比我更好,我个人更喜欢in_array

in_array

if (in_array($value, array("sun", "moon", "stars"))) {
    // Do something
}

如果声明

if ($value == "sun" || $value == "moon" || $value == "stars") {
    // Do something
}

切换

switch ($value) {
    case "sun":
    case "moon":
    case "stars":
        // Do something
    break;
}

请注意,您可以通过更多方式实现此目标。以上只是几个。

答案 2 :(得分:1)

这很容易 您可以通过post方法获取文本字段的值:

<input type="text" name="my_input" id="my_input">

if ($_POST['my_input'] == "sun" || $_POST['my_input'] == "moon" || $_POST['my_input'] == "stars" ) {
do stuff
}

或者您可以使用in_array函数。

答案 3 :(得分:1)

或者你可以使用php preg_match()

if(preg_match("/^(sun|moon|stars)$/i", $_POST['my_input']) === 1) {
    // success
}

答案 4 :(得分:1)

虽然这是用php标记的,但你的示例代码看起来像javascript,所以这里是一个javascript解决方案:

<input type="text" name="my_input" id="my_input" onblur="doStuff(this.value);">
<script>
function doStuff(val){

    if(["sun", "moon", "stars"].indexOf(val)!= -1){
       alert("found");
    }

}
</script>