Ds\Set::add
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Ds\Set::add
Референца за `ds-set.add.php` со подобрена типографија и навигација.
Ds\Set::add
Класата Vector
Ds\Set::add — Додава вредности во множеството
= NULL
Додава сите дадени вредности во множеството што сè уште не се додадени.
Забелешка:
Вредности од тип object Клучеви од тип Ds\Hashableсе поддржани. Ако објект имплементира
equals, еднаквоста ќе се определи според објектот Ds\Hashableфункција. Ако објект не имплементира
Сите споредби се строги (тип и вредност).
Параметри
values-
Вредности за додавање во множеството.
Вратени вредности
Не се враќа вредност.
Примери
Пример #1 Ds\Set::add() пример со цели броеви
<?php
$set = new \Ds\Set();
$set->add(1);
$set->add(1);
$set->add(2);
$set->add(3);
// Strict comparison would not treat these the same as int(1)
$set->add("1");
$set->add(true);
var_dump($set);
?>Горниот пример ќе прикаже нешто слично на:
object(Ds\Set)#1 (5) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
string(1) "1"
[4]=>
bool(true)
}
Пример #2 Ds\Set::add() пример со објекти
<?php
class HashableObject implements \Ds\Hashable
{
/**
* An arbitrary value to use as the hash value. Does not define equality.
*/
private $value;
public function __construct($value)
{
$this->value = $value;
}
public function hash()
{
return $this->value;
}
public function equals($obj): bool
{
return $this->value === $obj->value;
}
}
$set = new \Ds\Set();
$obj = new \ArrayIterator([]);
// Adding the same instance multiple times will only add the first.
$set->add($obj);
$set->add($obj);
// Adding multiple instances of the same object will add them all.
$set->add(new \stdClass());
$set->add(new \stdClass());
// Adding multiple instances of equal hashable objects will only add the first.
$set->add(new \HashableObject(1));
$set->add(new \HashableObject(1));
$set->add(new \HashableObject(2));
$set->add(new \HashableObject(2));
var_dump($set);
?>Горниот пример ќе прикаже нешто слично на:
object(Ds\Set)#1 (5) {
[0]=>
object(ArrayIterator)#2 (1) {
["storage":"ArrayIterator":private]=>
array(0) {
}
}
[1]=>
object(stdClass)#3 (0) {
}
[2]=>
object(stdClass)#4 (0) {
}
[3]=>
object(HashableObject)#5 (1) {
["value":"HashableObject":private]=>
int(1)
}
[4]=>
object(HashableObject)#6 (1) {
["value":"HashableObject":private]=>
int(2)
}
}