Merge config arrays
$ composer require schnittstabil/config_merge
use function Schnittstabil\ConfigMerge\config_merge;
$target = json_decode(<<<'EOD'
{
"files": ["src", "tests"],
"opts": {
"unicorns": 0,
"leprechauns": 666
}
}
EOD
);
$source = json_decode(<<<'EOD'
{
"files": ["target"],
"opts": {
"unicorns": 42
}
}
EOD
);
json_encode(config_merge($target, $source), JSON_PRETTY_PRINT);
/* =>
{
"files": [
"target"
],
"opts": {
"unicorns": 42,
"leprechauns": 666
}
}
*/
/**
* Merge two configs.
*
* @param mixed $target Target config
* @param mixed $source Source config
* @param bool $appendArrays if true use `array_merge`
*
* @return mixed The merged config
*/
function config_merge($target, $source, $appendArrays = false)
MIT © Michael Mayer