Ds\Map::put
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Ds\Map::put
Референца за `ds-map.put.php` со подобрена типографија и навигација.
Ds\Map::put
Класата Vector
Ds\Map::put — Associates a key with a value
= NULL
Асоцира клуч со вредност key Оваа функција е еквивалентна на повикување valueАсоцира
Забелешка:
Отстранува и враќа вредност по клуч, или враќа опционална стандардна вредност ако клучот не може да се најде. object Клучеви од тип Ds\Hashableсе поддржани. Ако објект имплементира
equals, еднаквоста ќе се определи според објектот Ds\Hashableфункција. Ако објект не имплементира
Забелешка:
, пребришувајќи претходна асоцијација ако постои.
$map["key"] = $value.
Можете исто така да користите синтаксис на низа за пристап до вредности по клуч, на пр. $map["1"] Внимавајте кога користите синтаксис на низа. Скаларни клучеви ќе бидат претворени во цели броеви од моторот. На пример, int(1), додека $map->get("1") ќе се обиде да пристапи до
Константи за известување за грешки Низи.
Параметри
key-
Можете исто така да користите array синтакса за да асоцирате вредности по клуч, на пр.
value-
Клучот со кој вредноста ќе се асоцира.
Вратени вредности
Не се враќа вредност.
Примери
Пример #1 Вредноста што ќе се асоцира со клучот. example
<?php
$map = new \Ds\Map();
$map->put("a", 1);
$map->put("b", 2);
$map->put("c", 3);
print_r($map);
?>Горниот пример ќе прикаже нешто слично на:
Ds\Map Object
(
[0] => Ds\Pair Object
(
[key] => a
[value] => 1
)
[1] => Ds\Pair Object
(
[key] => b
[value] => 2
)
[2] => Ds\Pair Object
(
[key] => c
[value] => 3
)
)
Пример #2 Вредноста што ќе се асоцира со клучот. Ds\Map::put()
<?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;
}
}
$map = new \Ds\Map();
$obj = new \ArrayIterator([]);
// Using the same instance multiple times will overwrite the previous value.
$map->put($obj, 1);
$map->put($obj, 2);
// Using multiple instances of the same object will create new associations.
$map->put(new \stdClass(), 3);
$map->put(new \stdClass(), 4);
// Using multiple instances of equal hashable objects will overwrite previous values.
$map->put(new \HashableObject(1), 5);
$map->put(new \HashableObject(1), 6);
$map->put(new \HashableObject(2), 7);
$map->put(new \HashableObject(2), 8);
var_dump($map);
?>Горниот пример ќе прикаже нешто слично на:
object(Ds\Map)#1 (5) {
[0]=>
object(Ds\Pair)#7 (2) {
["key"]=>
object(ArrayIterator)#2 (1) {
["storage":"ArrayIterator":private]=>
array(0) {
}
}
["value"]=>
int(2)
}
[1]=>
object(Ds\Pair)#8 (2) {
["key"]=>
object(stdClass)#3 (0) {
}
["value"]=>
int(3)
}
[2]=>
object(Ds\Pair)#9 (2) {
["key"]=>
object(stdClass)#4 (0) {
}
["value"]=>
int(4)
}
[3]=>
object(Ds\Pair)#10 (2) {
["key"]=>
object(HashableObject)#5 (1) {
["value":"HashableObject":private]=>
int(1)
}
["value"]=>
int(6)
}
[4]=>
object(Ds\Pair)#11 (2) {
["key"]=>
object(HashableObject)#6 (1) {
["value":"HashableObject":private]=>
int(2)
}
["value"]=>
int(8)
}
}