2012-11-16 2 views
0

나는 PHP의 절대 초보자이며 첫 번째 scipt에 대한 도움이 필요합니다.일부 ID의 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); 
} 
}?> 

가 지금은 배열 ( 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 

나는 내 문제를 이해하고 나를 도울 수 있기를 바랍니다. 미리 :)에 감사

편집 : 당신의 도움을 주셔서 감사합니다하지만 난이 그래서는 whitepage 될

<?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의 새로운 totay 사용할 때

답변

2

당신은 in_array을 사용할 수 있습니다 값이 지정된 배열에 있는지 확인합니다.

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

답변 해 주셔서 감사합니다. // 메인 포스트에서 내 편집을보세요 – galeda

+1

미안 해요 괄호를 놓쳤습니다 ... 내 대답을 편집했습니다. – prodigitalson

1

in_array() 방법을 찾으십시오. 가능성이 높습니다.

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

당신은 같은 값이 배열에 당신이 PHPs in_array 방법을 사용해야합니다 여부를 확인 싶다면 :

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

P.S.을

PHP의 경우 else if 대신 elseif을 사용할 수 있습니다. 이는 해당 용도로 사용되는 예약어입니다.

+0

네, 이제 고맙습니다. :) – galeda