2013-03-18 2 views
0

PHP에서 점으로 매개 변수를 동적으로 수신 할 수 있습니까? PHP에서 점으로 URL 매개 변수를 수신하는 방법

는 동적 이름이 매개 변수에 가능하다 내가 URL 매개 변수 "hl"이 알고 말해하지만 일부 동적 값은

"h1.u", "hl.p" 같은 매개 변수 이름에가 추가되어 있습니까?

+0

당신은 $ _GET에 대해 이야기하고 있습니다. 맞습니까? –

+0

@RefugnicEternium 예 – Kathick

+0

'$ _GET [ 'h1.u']'? –

답변

0

$_GET은 열거 된 배열입니다.

즉, 전체 $_GET 배열을 반복하여 '변형'을 확인할 수 있습니다. 같이 일할 수있는 h1.u이 $_GET['h1.u'];

검색 중에 위치 할 것 매개 변수를 의미

:

foreach($_GET as $key => $value) { 
    if(strpos($key, "h1") !== false) { 
     //Do stuff 
    } 
} 

이 코드는 전체 배열을 반복 어딘가에 'H1'을 포함 아무것도를 찾습니다 그게 핵심이야. 그리고 그걸로 뭔가를해라.

strpos이 발견되어 있지 않은 경우 H1 잘 위치 0 (첫 번째 문자)에 위치 할 수 있기 때문에 당신이 대신 not 0 검사의 유형 체킹을해야 할 이유입니다, boolean false을 반환하는 것은

+0

Refugnic, 나 뭔가 빠졌어? 내가 아는 한 점은 GET 변수 이름에서 허용되지 않습니다. ? h1.u = 14 & h1.p = 7과 같은 GET 변수를 사용하여 PHP 스크립트를 실행하면 $ _GET [ 'h1_u'] 및 $ _GET [ 'h1_p']로 변환됩니다. –

+0

@TopherHunt 내가 2 개의 upvotes로 회신에 올린 의견을 읽으시겠습니까? 나는 그 변수 이름에 문제가 있다는 것을 몰랐다. 그러나 나의 대답은 서있기에 충분히 일반적이었다. 키 이름에 특정 문자 체인이 있는지 알고 싶다면 그렇게 할 수 있습니다. –

0
$gets=array_keys($_GET); 
foreach($item in $gets){ 
    $check1=explode($item, "."); 
    if(count($check1) <2){ 
    //No appended keys recieved 
    } 

    else{ 
    $key = $check1[0]; 
    $apeendedPart= $check1[1]; 
    } 

//Do something with these two 
} 

테스트하지, 작은 버그가 어쩌면 존재 .. 나는 그것을 수정합니다.

0

내가 아는 한, 점 문자는 GET 변수에서 허용되지 않습니다. GET은 그들을 '_'로 대체합니다. PHP 스크립트가 시작될 때 'h1_'과 가능한 문자의 전체 데크의 동적 조합을 찾으십시오 (또는 '_를 사용하는 로니의 답변에 맞춰보십시오. ' 대신에 '.').

나는 _이 GET 변수 이름에서 유효한 문자이지만, '.'을 지정하는 방법이 필요합니다. 너무. 그래서 자바 스크립트를 사용하여 모든 것을 보장합니다. ' 미리 '__'(두 개의 밑줄)로 바뀌면 수신 PHP에서이 패턴을 찾습니다.

+0

나는 왜 누군가가이 대답을 downvoted 보았다, 명확히하는 이유에 대한 관심? 그것이 도움이되지 않으면 미안 해요! –

관련 문제