Стоит исследовать Ваш текущий рабочий процесс, чтобы видеть, если блокировка изображений действительно необходима. Для двух человек относительно необычно независимо отредактировать изображение, и немного коммуникации может иметь большое значение.
Примерно так:
function makeNonNestedRecursive(array &$out, $key, array $in){
foreach($in as $k=>$v){
if(is_array($v)){
makeNonNestedRecursive($out, $key . $k . '_', $v);
}else{
$out[$key . $k] = $v;
}
}
}
function makeNonNested(array $in){
$out = array();
makeNonNestedRecursive($out, '', $in);
return $out;
}
// Example
$fooCompressed = makeNonNested($foo);
Вот функция, которая позволяет указать префикс верхнего уровня с помощью второго параметра:
function flatten_array($array, $prefix = null) {
if ($prefix) $prefix .= '_';
$items = array();
foreach ($array as $key => $value) {
if (is_array($value))
$items = array_merge($items, flatten_array($value, $prefix . $key));
else
$items[$prefix . $key] = $value;
}
return $items;
}