PHP 8.1.0 RC 2 available for testing

Ds\Map::toArray

(PECL ds >= 1.0.0)

Ds\Map::toArray Converts the map to an tableau

Description

public Ds\Map::toArray(): array

Converts the map to an tableau.

Attention

Maps where non-scalar keys are can't be converted to an tableau.

Attention

An tableau 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.

Note:

Casting to an tableau is not supported yet.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

An tableau containing all the values in the same order as the map.

Exemples

Exemple #1 Ds\Map::toArray() example

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

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

Résultat de l'exemple ci-dessus est similaire à :

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
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());
?>
To Top