나는 딜레마에 빠져있다. 배열에서 물체를 동적으로 검색하는 함수를 만들려고하는데,이 경우에는 내 세션 배열이지만 반드시 있어야한다.배열을 통한 동적 검색
array('First' => array('Second' => array('Third' => 'TEST VALUE'));
: 이제 내 문제는 여기에
내가public static function get($search = 'First/Second/Third') {
$explode = explode('/',$search);
$count = count($explode);
if ($count == 1)
if (isset($_SESSION[$explode[0]]))
return $_SESSION[$explode[0]];
elseif ($count == 2)
if (isset($_SESSION[$explode[0]][$explode[1]]))
return $_SESSION[$explode[0]][$explode[1]];
elseif ($count == 3)
if (isset($_SESSION[$explode[0]][$explode[1]][$explode[2]]))
return $_SESSION[$explode[0]][$explode[1]][$explode[2]];
}
을 가지고있는 그래서 내가 배열이 있다고 가정하자의 ... 내 문제는 동적으로이 작업을 수행 할 수 있도록하는 것입니다 아니다 이제 전화를 걸고 싶습니다.
$value = get('First/Second/Third');
그런 다음 "테스트 값"을 my $ value 변수의 값으로 되돌립니다.
작동이 상황에서하지만, 그것은 단지 동적이지, 나는 더 많은 라인을 추가하지 않고,뿐만 아니라 어쩌면 10 층 깊은 배열을 처리 할 수 있어야합니다 ....
글쎄 어쩌면 여기에 더 똑똑한 사람 :)
감사합니다 !! 이 같은
이것은 훌륭한 해결책입니다. 나는이 문제가 한 번 있었을 때 eval()에 재발했다는 것을 인정하기가 부끄럽다. – Andri
하지만''$ data = isset ($ data [$ key])? ''$ data = $ data [$ key]''대신에 $ data [$ key] : null''을 사용할 수 있습니까? 그러한 키가 없다면,''$ data''는 null이 될 것입니다.?!? – mzedeler
대단한 !!!! 이 멋지고 깨끗한 솔루션을 좋아합니다. 완벽합니다. 바바 고마워! –