배열 키의 값을 찾기 위해 "무제한"양의 인수 (func_get_args()
사용)를 허용하는 함수를 만들려고합니다 (이미 존재하지 않는 한?). 어레이 내부의 깊이에 상관없이 찾을 수 있습니다. 나는이 $this->properties['settings']['template']['default']
의 값을 얻을 수 있겠 $registry->getSetting('template', 'default');
을 사용하는 경우함수 인수를 사용하여 더 깊은 배열 키 액세스
는 말 또는 당신이 $registry->getSetting('users', 1, 'name', 'first');
내가 기대한다면 그것은 (추가 인수 부부와 함께 단지 두 번째 예) $this->properties['users'][1]['name']['first']
의 값을 반환 할 수 있습니다.
이제 이와 같은 작업을 수행하기 위해 전달 된 인수의 수를 func_num_args()
을 사용하여 계산 한 다음 다른 경우로 전환합니다. 그렇다고해서 일정량의 키로 제한됩니다.
배열의 더 깊은 키에 액세스하기 위해 일정량의 인수가 아닌 "무제한"양을 허용하기 위해이 방법이 있는지 묻습니다.
<?PHP
class Registry
{
// Values are actually fetched from a config file, but for easier understanding
private $properties = array(
'settings' => array(
'template' => array(
'default' => 'default',
'caching' => TRUE
)
)
);
public function getSetting()
{
// do something like
// return $this->properties['settings'][func_get_args()];
}
}
?>
무엇이든 도움을 주시면 감사하겠습니다.
감사합니다.
이것은 그것을하는 것처럼 보였습니다, 대단히 감사합니다! – eklundchristopher