Ds\Map::toArray
(PECL ds >= 1.0.0)
Ds\Map::toArray — Converts the map to an array
说明
public Ds\Map::toArray(): array
Converts the map to an array.
警告
Maps where non-scalar keys are can't be converted to an array.
警告
An array will treat all numeric keys as integers,
eg. "1"
and 1
as keys in the map
will only result in 1
being included in the array.
注意:
Casting to an array is not supported yet.
参数
此函数没有参数。
返回值
An array containing all the values in the same order as the map.
范例
示例 #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) }

User Contributed Notes 1 note
foalford at gmail dot com ¶
1 year ago
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());
?>