- print_r: documentation ( source)
- array_shift: documentation ( source)
- explode: documentation ( source)
<?php
function getArrayFromHyphenArray($flatArray){
$deepArray = array();
foreach($flatArray as $key => $value){
$keysArray = explode('-', $key);
$deepArray = recursiveSet($deepArray, $keysArray, $value);
}
}
function recursiveSet(&$array, $arg, $value){
if(empty($arg)){
$array = $value;
return $array;
}
$key = array_shift($arg);
if(!isset($array[$key])){
$array[$key] = array();
}
return recursiveSet($array[$key],$arg,$value);
}
$arra = array('this-is-some' => 'value', 'this-is-second' => 'value');
print_r(getArrayFromHyphenArray($arra));