Ds\Map::toArray

(PECL ds >= 1.0.0)

Ds\Map::toArray Converte o mapa em um array

Descrição

public Ds\Map::toArray(): array

Converte o mapa em um array.

Cuidado

Mapas com chaves não escalares não podem ser convertidos para um array.

Cuidado

Um array tratará todas as chaves numéricas como inteiros, por exemplo, "1" e 1 como chaves no mapa resultarão apenas em 1 sendo incluído no array.

Nota:

A conversão direta para um array ainda não é suportada.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Um array contendo todos os valores na mesma ordem do mapa.

Exemplos

Exemplo #1 Ds\Map::toArray() exemplo

<?php
$map
= new \Ds\Map([
"a" => 1,
"b" => 2,
"c" => 3,
]);

var_dump($map->toArray());
?>

O exemplo acima produzirá algo semelhante a:

array(3) {
  ["a"]=>
  int(1)
  ["b"]=>
  int(2)
  ["c"]=>
  int(3)
}
add a note add a note

User Contributed Notes 1 note

up
0
foalford at gmail dot com
3 years 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());
?>
To Top