public function testArrayMergeAssocRecursive() { $users = ['users' => [1 => ['name' => 'Charles', 'role' => 'lead developper'], 2 => ['name' => 'Eric', 'role' => 'developper'], 3 => 'Florian'], 'foo' => 'bar', 'bar' => ['foo'], 'back' => 'bee']; $users2 = [0 => 'Djoudi', 'users' => [1 => 'Mickael', 2 => ['name' => 'Harris', 'role' => 'developper'], 3 => ['name' => 'Nicolas', 'role' => 'developper']], 'foo' => 'foo', 'bar' => 'bar', 'back' => ['bee']]; $mergedUsers = ['users' => [1 => ['name' => 'Charles', 'role' => 'lead developper'], 2 => ['name' => 'Eric', 'role' => 'developper'], 3 => 'Florian', 4 => 'Mickael', 5 => ['name' => 'Harris', 'role' => 'developper'], 6 => ['name' => 'Nicolas', 'role' => 'developper']], 'foo' => 'foo', 'bar' => 'bar', 'back' => ['bee'], 0 => 'Djoudi']; $this->assertSame(Collection::array_merge_assoc_recursive($users, $users2), $mergedUsers); }
/** * Sets a parameter section. * * @param string $section * @param array $config * @param boolean $overwrite * * @return \BackBee\Config\Config The current config object */ public function setSection($section, array $config, $overwrite = false) { if (false === $overwrite && array_key_exists($section, $this->raw_parameters)) { $this->raw_parameters[$section] = Collection::array_merge_assoc_recursive($this->raw_parameters[$section], $config); } else { $this->raw_parameters[$section] = $config; } if (array_key_exists($section, $this->parameters)) { unset($this->parameters[$section]); } return $this; }