Here's the problem I solved with recursion: I want to update a value in a multi-dimensional array based on a key path. The path is a list of array keys in increasing depth. The value should override the existing one or be created (along with the intermediate keys) if it doesn't.
For example, with the following key path: friendica, database, user
and the value hypolite
, I want to update the following array key: array[friendica][database][user] = hypolite
. Of course the key path length is arbitrary.
I can't think of a way of not using recursion, but I'm curious how you would do it.