Я бы пошел с рекурсией
class Maker
{
public $array = [];
function set($key, $value = []) {
$this->_set($this->array, $key, $value);
}
private function _set(&$array, $key, $value) {
if (is_array($array)) {
if (empty($array))
$array[$key] = $value;
else {
foreach ($array as $k => $v) {
$this->_set($array[$k], $key, $value);
break;
}
}
}
}
}
Вывод:
Array
(
[a] => Array
(
[b] => Array
(
[c] => 100
)
)
)
Я начал работать над инструментом под названием git-tfs, в некотором роде похожим на git-svn.
Я уверен, что это возможно, но это будет очень rube goldberg-ian в его конструкции и скорее всего приведет к большему количеству боли, чем удовольствие. Я предлагаю выбрать систему управления исходным кодом и идти с ним.
Если Вам нужна реальная офлайновая поддержка затем, мерзавец является удивительным, но поддержка окон является все еще немного хлопьевидной.
I can tell you it is possible...
Also here you can find some minor details about someone with the same experience: http://blog.zobie.com/2009/04/using-git-to-avoid-problems-with-tfs/
Мы просто решили сделать это на работе. Вот сообщение в блоге о том, как мы это сделали.
http://blog.lozanotek.com/archive/2009/10/20/git-svn_SvnBridge_and_TFS_Source_Control.aspx
Только что нашел этот проект на Github .. это может сработать, но я еще не пробовал.