示例#1
0
 public function testMergeDeep()
 {
     $this->assertEmpty(ArrayUtils::mergeDeep(array(), array()));
     $allOptions = array('lorem' => 'ipsum', 'dolor' => 'sit', 'amet' => 'adipiscit', 'elit' => true, 'list' => array(), 'default_list' => array('item1' => 0, 'item2' => 3, 'item3' => 5));
     $userOptions = array('lorem' => true, 'amet' => 'lipsum', 'list' => array('item5' => 'yes'));
     $result = array('lorem' => true, 'dolor' => 'sit', 'amet' => 'lipsum', 'elit' => true, 'list' => array('item5' => 'yes'), 'default_list' => array('item1' => 0, 'item2' => 3, 'item3' => 5));
     $this->assertEquals(ArrayUtils::mergeDeep($allOptions, $userOptions), $result);
     $this->assertEquals(ArrayUtils::mergeDeep(array(0, 1, 2, 3, 4, 5, 6, 7), array('a', 'b', 'c', 'd')), array('a', 'b', 'c', 'd', 4, 5, 6, 7));
     $mixedResult = array(array('id' => 1, 'name' => 'lorem', 'categoryId' => 5, 'date' => '2013.07.08'), array('id' => 2, 'name' => 'ipsum', 'categoryId' => 3, 'date' => '2013.07.07'), array('id' => 5, 'name' => 'dolor', 'categoryId' => 1, 'date' => '2012.07.08'), array('id' => 6, 'name' => 'sit', 'categoryId' => 3, 'date' => '2013.12.08'), array('id' => 9, 'name' => 'amet', 'categoryId' => 5, 'date' => '2013.10.14'));
     $this->assertEquals(ArrayUtils::mergeDeep(array(0, 1, 2, 3), $this->_getArrayPreset('2D_collection_5')), $mixedResult);
 }