2014-11-28 2 views
0

문자열로 어떻게이 일을하는는 방법이 내 코드입니다

## GET REQUEST POSTING TO PAGE (/example.php?name=something)## 

## Expected Output : something 

$var = '$_'.strtoupper($_SERVER['REQUEST_METHOD']);// concatenating with '$_' 


var_dump($var."['name']");    

echo '--<br>'; 

var_dump($var['name']);   

echo '--<br>'; 


print_r($var."['name']"); //not working  

echo '--<br>'; 

print_r($var['name']);  //not working  

어떤 생각을 $ _SERVER [ 'REQUEST_METHOD를'] Concacenate하는? 올바른 길은 무엇입니까?

+0

게시 또는 수신 중인지 신경 쓰지 않는다면'$ _REQUEST'를 사용하십시오. –

+0

사실 요청 처리를위한 클래스를 만들고 있는데, $ _REQUEST를 사용할 수 없습니다. 요청의 방법도 유효하다는 것을 확인했습니다. 덕분에 –

답변

2

사용 더블 $

$var = "_" . $_SERVER['REQUEST_METHOD']; 

var_dump($$var); 

또는 초기화 변수에 대한 전환한다면 이것은 좋은 코드의 사용을 위해 "더러운 해킹"

입니다.

switch($_SERVER['REQUEST_METHOD']) { 
    case "POST": 
    $var = $_POST; 
    break; 
    case "GET": 
    default: 
    $var = $_GET; 
    break; 
} 
+0

이 좋았지 만 스위치없이 간단하게 유지하고 싶었습니다. 더러운 해킹을 사용할 수 있습니까?) 다음과 같이'$ myarray = $$ var; print_r ($ myarray [ 'name']); '권장하는 제품입니까? –

+0

@ 코딩 문제 없음 – newman

+0

위대한 친구 .thanks –