Exemple #1
0
 /**
  * Array merge recursive
  * @param array $arr1
  * @param array $arr2
  * @return array
  */
 function recursive_merge($arr1, $arr2)
 {
     if (!is_array($arr1) || !is_array($arr2)) {
         return $arr2;
     }
     foreach ($arr2 as $key => $val2) {
         $val1 = isset($arr1[$key]) ? $arr1[$key] : [];
         $arr1[$key] = recursive_merge($val1, $val2);
     }
     return $arr1;
 }
Exemple #2
0
 public function prepare($data)
 {
     $item = new \stdClass();
     $data = recursive_merge(['href' => null, 'text' => null, 'children' => []], $data);
     foreach ($data as $key => $value) {
         if ($key == 'children' && $value) {
             foreach ($value as $index => $child) {
                 $value[$index] = $this->prepare($child);
             }
         }
         $item->{$key} = $value;
     }
     return $item;
 }
 public function applyAttributeDefaults(array $values)
 {
     return recursive_merge(['type' => Attribute::VARCHAR, 'default' => null, 'nullable' => true, 'unique' => false, 'validate' => null, 'parent' => false, 'handler' => 'Lavender\\Database\\Attribute', 'label' => null, 'length' => null, 'unsigned' => true, 'comment' => null], $values);
 }
 public function applyRelationshipDefaults(array $values)
 {
     return recursive_merge(['entity' => null, 'type' => null, 'table' => null, 'column' => null], $values);
 }
Exemple #5
0
function unittest_recursive_merge()
{
    $array1 = array('properties' => array('a' => 1, 'b' => 2), 'list' => array('a', 'b'));
    $array2 = array('properties' => array('b' => 3, 'c' => 4), 'list' => array('c', 'd'));
    $merged = recursive_merge($array1, $array2);
    assertTrue(count($merged) === 2);
    assertTrue(count($merged['properties']) === 3);
    assertTrue(count($merged['list']) === 4);
}
 /**
  * Merge the given configuration with the existing configuration.
  *
  * @param  string  $path
  * @param  string  $key
  * @return void
  */
 protected function mergeConfigFrom($path, $key)
 {
     $config = $this->app['config']->get($key, []);
     $this->app['config']->set($key, recursive_merge(require $path, $config));
 }