add() публичный Метод

Note, if the specified key already exists, the old value will be overwritten. No duplicate keys are allowed regardless of priority.
public add ( $key, $value, $priority = null ) : numeric
Результат numeric priority at which the pair was added
Пример #1
0
 public function testCopyAndMergeWithPriorities()
 {
     $this->setUpPriorities();
     $map1 = new TPriorityMap();
     $map1->add('key1', $this->item1);
     $map1->add('keyc', 'valuec');
     $map1->copyFrom($this->map);
     $this->assertEquals(5, $map1->getCount());
     $array = $map1->toArray();
     $ordered_keys = array_keys($array);
     $this->assertEquals('key3', $ordered_keys[0]);
     $this->assertEquals('key5', $ordered_keys[1]);
     $this->assertEquals('key1', $ordered_keys[2]);
     $this->assertEquals('key2', $ordered_keys[3]);
     $this->assertEquals('key4', $ordered_keys[4]);
     $ordered_values = array_values($array);
     $this->assertEquals($this->item3, $ordered_values[0]);
     $this->assertEquals($this->item5, $ordered_values[1]);
     $this->assertEquals($this->item1, $ordered_values[2]);
     $this->assertEquals($this->item2, $ordered_values[3]);
     $this->assertEquals($this->item4, $ordered_values[4]);
     $map2 = new TPriorityMap();
     $map2->add('startkey', 'startvalue', -1000);
     $map2->add('key5', 'value5', 40);
     $map2->add('endkey', 'endvalue', 1000);
     $map2->mergeWith($this->map);
     $this->assertEquals(7, $map2->getCount());
     $array = $map2->toArray();
     $ordered_keys = array_keys($array);
     $this->assertEquals('startkey', $ordered_keys[0]);
     $this->assertEquals('key3', $ordered_keys[1]);
     $this->assertEquals('key5', $ordered_keys[2]);
     $this->assertEquals('key1', $ordered_keys[3]);
     $this->assertEquals('key2', $ordered_keys[4]);
     $this->assertEquals('key4', $ordered_keys[5]);
     $this->assertEquals('endkey', $ordered_keys[6]);
     $ordered_values = array_values($array);
     $this->assertEquals('startvalue', $ordered_values[0]);
     $this->assertEquals($this->item3, $ordered_values[1]);
     $this->assertEquals($this->item5, $ordered_values[2]);
     $this->assertEquals($this->item1, $ordered_values[3]);
     $this->assertEquals($this->item2, $ordered_values[4]);
     $this->assertEquals($this->item4, $ordered_values[5]);
     $this->assertEquals('endvalue', $ordered_values[6]);
     $this->assertEquals(1, $map2->priorityAt('key5'));
     $this->assertEquals(1, $map2->priorityOf($this->item5));
 }