PHP는

2012-03-09 5 views
2

는이 문자열을 설정 할 수있는 구분 된 문자열에서 다차원 연관 배열을 확인PHP는

$array['package']['deal']['category'] 

이 시점에서 인덱스 내부의 값 수 뭐든지있어.

+1

귀하의 질문은 약간 혼란 스럽다. '$ array [ 'package'] [ 'deal'] [ 'category']'의 가치는 무엇이되어야합니까? 액세스 할 색인을 정의했지만 값은 정의하지 않았습니다. –

+0

질문을 수정했습니다. 죄송합니다. 필자는 최하위 수준의 인덱스 내부에 저장된 것보다 배열 자체에 더 많은 관심을 가지고 있습니다. – JayNCoke

답변

7

What have you tried? 이에 대한 절대적인 대답은 매우 쉽습니다.

$keys = explode('.', $string); 
$array = array(); 
$arr = &$array; 
foreach ($keys as $key) { 
    $arr[$key] = array(); 
    $arr = &$arr[$key]; 
} 
unset($arr); 

...하지만 왜 이것이 유용할까요?

+0

고마워, @ tandu! 나는 내가 문제를 볼 시간을 가졌다면 아마도 이것을 해결할 수 있었음을 인정한다. 내가 절대적으로 필요하지 않으면 나는 여기에 대해 거의 질문하지 않는다. 당신의 솔루션을 살펴본 후에, 나는 "당연히, 이런"순간 중 하나를 가졌습니다. 그것을 사용하는 것이지만, 나는 그것이 완전히 다른 논의라고 확신합니다. – JayNCoke

1

정말 이해가 안됩니다. 문제가 무엇입니까?

$parts = explode('.', $string); 
$array = array(); 

while (!empty($parts)) { 
    $array = array(array_pop($parts) => $array); 
} 
0

이 시도 :

$text = 'package.deal.category'; 

$array = array(); 
foreach(array_reverse(explode('.', $text)) as $key) $array = array($key => $array); 

print_r($array);