When using Hashable object as $key, Map::put() will not call the Hashable::hash() on the key until later. For example
<?
class Key implements \Ds\Hashable
{
protected $id;
public function __construct($id)
{
$this->id = $id;
}
public function equals($obj) : bool
{
return $this->id == $obj->id;
}
public function hash()
{
return $this->id;
}
}
$map = new \Ds\Map();
$myki = new Key('myki');
$map->put($myki, "Value String");
var_dump($map->get($myki));
echo 'Map::put() store the Hashable object and it cause error in toArray()'. PHP_EOL;
var_dump($map->toArray());
?>Ds\Map::toArray
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Ds\Map::toArray
Референца за `ds-map.toarray.php` со подобрена типографија и навигација.
= NULL
Го конвертира мапот во array.
Мапи каде што клучевите што не се скаларни не можат да се претворат во array.
Еден array ќе ги третира сите нумерички клучеви како цели броеви, на пр. "1" and 1 како клучеви во мапата ќе резултираат само со 1 што ќе бидат вклучени во низата.
Забелешка:
Ги конвертира колекцијата во array Кастинг во
Параметри
Оваа функција нема параметри.
Вратени вредности
Еден array што ги содржи сите вредности во ист редослед како мапата.
Примери
Пример #1 Ds\Map::toArray() example
<?php
$map = new \Ds\Map([
"a" => 1,
"b" => 2,
"c" => 3,
]);
var_dump($map->toArray());
?>Горниот пример ќе прикаже нешто слично на:
array(3) {
["a"]=>
int(1)
["b"]=>
int(2)
["c"]=>
int(3)
}