在php中检查一些ID的数组

时间:2012-11-16 23:24:10

标签: php arrays get

我是PHP的绝对初学者,我的第一篇文章需要一些帮助。

我有一个这样的数组:

$ids = array("test1", "testa", "test2", "testv");

这是我的完整代码:

<?php
$ids = array("test1", "testa", "test2", "testv");
$id = $_GET['id'];
if($id  == null){$done .= "Wrong ID";}
else if ($id  == $ids[0])
{
$laenge = 8;
for($i=0;$i<$laenge;$i++){$rnd = rand(1,62);
if ($rnd <= 10){$rnd += 47;}else if($rnd <= 36){$rnd += 54;}
else{$rnd += 60; }
$done .= chr($rnd);
}
}?>

现在我将使用数组的GET变量(script.php?id=)检查输入。

示例script.php?id=test1&lt;&lt;&lt;因为($id == $ids[0])而工作得很好但是我怎么能让它工作只接受来自我的数组($ ids)的所有变量

例如:

script.php?id=test1 = ok
script.php?id=testa = ok
script.php?id=test2 = ok
script.php?id=testv = ok
script.php?id=bla   = Not ok

我希望你理解我的问题,并能帮助我。 提前谢谢你:)

编辑: 感谢您的帮助,但是当我使用它时

<?php
$ids = array("test1", "testa", "test2", "testv");
if(in_array($_GET['id'], $ids) 
{

$laenge = 8;
for($i=0;$i<$laenge;$i++){$rnd = rand(1,62);
if ($rnd <= 10){$rnd += 47;}else if($rnd <= 36){$rnd += 54;}
else{$rnd += 60; }
$gutschein .= chr($rnd);

} else {
echo 'Wrong ID';
}

}?>

我成为了一个白页,对不起,我刚刚在PHP

3 个答案:

答案 0 :(得分:2)

您可以使用in_array查看某个值是否在给定数组中。

if(in_array($_GET['id'], $ids)) {
  // do stuff
} else {
   echo 'Wrong ID';
}

答案 1 :(得分:1)

查看in_array()方法,这可能就是您要找的方法。

if (in_array($id, $ids)) {
   // Do your stuff when in array
}

答案 2 :(得分:1)

如果你想检查一个值是否在你的数组中,你应该使用PHP in_array方法,因为:

else if (in_array($id, $ids))

P.S。

在PHP中,您可以使用elseif代替else if,这是为此目的的保留字。