我是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
答案 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
,这是为此目的的保留字。