0

我是一个绝对的初学者,PHP我的第一个 scipt 需要一些帮助。

我有一个这样的数组:

$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);
}
}?>

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

在示例script.php?id=test1<<< 因为 ( $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 的新手

4

3 回答 3

2

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

if(in_array($_GET['id'], $ids)) {
  // do stuff
} else {
   echo 'Wrong ID';
}
于 2012-11-16T23:27:05.003 回答
1

看一下in_array()方法,这可能是您正在寻找的。

if (in_array($id, $ids)) {
   // Do your stuff when in array
}
于 2012-11-16T23:27:43.410 回答
1

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

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

附言

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

于 2012-11-16T23:27:53.723 回答