Как динамически создавать массив в php со строковым индексом

У меня есть строка вроде этого:

$str = "eat.fruit.apple.good"; 

Я должен использовать этот массив следующим образом:

 $arr["eat"]["fruit"]["apple"]["good"] = true; 

Но я не понимаю, как я могу создать его динамически. Спасибо, Давиде

Related of "Как динамически создавать массив в php со строковым индексом"

 $str = "eat.fruit.apple.good"; // Set pointer at top of the array $arr = array(); $path = &$arr; // Path is joined by points foreach (explode('.', $str) as $p) // Make a next step $path = &$path[$p]; $path = true; print_r($arr); // $arr["eat"]["fruit"]["apple"]["good"] = true; 

ОБНОВЛЕНИЕ Вариант без указателя:

 $str = "eat.fruit.apple.good"; $res = 'true'; foreach(array_reverse(explode('.', $str)) as $i) $res = '{"' . $i . '":' . $res . '}'; $arr = json_decode($res, true);