가변 변수를 사용하여 $ _GET 및 $ _POST 배열에 모두 동적으로 액세스하려고합니다. 이 작업을 수행하려고하는 이유는 각각에 대해 특정 반복을 선언 할 필요없이 여러 배열에서 유사한 작업을 수행 할 수 있기 때문입니다. 필자는 PHP의 설명서에서 동적 변수에 변수를 사용하여 배열에 액세스 할 수 있다고 말했기 때문에이 방법이 가능할 것이라고 확신하지만 실제로 작동하지는 않습니다. 간단한 데모는 특정 속성이 설정되었는지 확인하려고 할 때입니다. 내가 위의 스크립트를 실행하면 내가 정적으로 수동으로 $ _GET이나 $ _POST, 내가 원하는 결과를 얻을 수를 사용하여 원하는 속성을 추구 할 때
if(isset(${$this->_array}[$property])) { return ${$this->_array}[$property]; }
else { return null; }
나는 항상 그러나, null를 얻을. 트리플에
$this->_array
과
$property
을 확인했으며 올바른 문자열 값을 반환하고 있습니다. 이러한 배열을 이러한 액세스에 사용할 수 없습니까, 아니면 내가 잘못 했나요?
http://en.wikipedia.org/wiki/Code_smell – ceejayoz
@ceejayoz 경우 잘 모릅니다 : OK? 전에 들었고 개념에 익숙해졌습니다. 당신은 무엇을 말하려고하는? 내 코드가 다른 곳에서 틀린가? 위 문장에 전달 된 변수가 올바른지 이미 확인했습니다. 다른 무엇이 될 수 있는지 확실하지 않습니다. – mseancole
변수 변수를 사용하면 일반적으로 잘못된 것을하고 있다는 표시라고 말하려고합니다. 후속 개발자가 당신을 죽이려하지 않게하는 좋은 방법이 거의 항상 있습니다. – ceejayoz