private function ArrayLoader::flatten in Plug 7
Flattens an nested array of translations.
The scheme used is: 'key' => array('key2' => array('key3' => 'value')) Becomes: 'key.key2.key3' => 'value'
This function takes an array by reference and will modify it
Parameters
array &$messages The array that will be flattened:
array $subnode Current subnode being parsed, used internally for recursive calls:
string $path Current path being parsed, used internally for recursive calls:
1 call to ArrayLoader::flatten()
- ArrayLoader::load in lib/
Symfony/ translation/ Loader/ ArrayLoader.php - @api
File
- lib/
Symfony/ translation/ Loader/ ArrayLoader.php, line 53
Class
- ArrayLoader
- ArrayLoader loads translations from a PHP array.
Namespace
Symfony\Component\Translation\LoaderCode
private function flatten(array &$messages, array $subnode = null, $path = null) {
if (null === $subnode) {
$subnode =& $messages;
}
foreach ($subnode as $key => $value) {
if (is_array($value)) {
$nodePath = $path ? $path . '.' . $key : $key;
$this
->flatten($messages, $value, $nodePath);
if (null === $path) {
unset($messages[$key]);
}
}
elseif (null !== $path) {
$messages[$path . '.' . $key] = $value;
}
}
}