Note the syntax
<?php
unset($map[$key]);
?>
is also valid and ran 2x faster on my machine
(PECL ds >= 1.0.0)
Ds\Map::remove — Enlève et renvoie une valeur par clé
Enlève et renvoie une valeur par clé, ou renvoie une valeur par défaut optionnelle si la clé n'a pas pu être trouvée.
Note:
Les clés de type object sont supportées. Si un objet implémente Ds\Hashable, l'égalité sera déterminée par la fonction
equals
de l'objet. Si un objet n'implémente pas Ds\Hashable, les objets doivent être des références à la même instance pour être considérés comme égaux.
Note:
Vous pouvez également utiliser la syntaxe de tableau pour accéder aux valeurs par clé, par exemple
$map["clé"]
.
Attention à l'utilisation de la syntaxe de tableau. Les clés scalaires seront coercées en
entiers par le moteur. Par exemple, $map["1"]
tentera d'accéder à
int(1)
, tandis que $map->get("1")
recherchera correctement la clé de chaîne.
Voir tableaux.
key
La clé à enlever.
default
La valeur par défaut optionnelle, renvoyée si la clé n'a pas pu être trouvée.
La valeur qui a été enlevée, ou la default
valeur si elle a été fournie et que la key
n'a pas pu être trouvée dans la carte.
OutOfBoundsException si la clé n'a pas été trouvée et qu'aucune valeur par défaut n'a été fournie.
Exemple #1 Exemple de Ds\Map::remove()
<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->remove("a")); // 1
var_dump($map->remove("e", 10)); // 10 (utilsation de la valeur par défaut)
?>
Résultat de l'exemple ci-dessus est similaire à :
int(1) int(10)
Note the syntax
<?php
unset($map[$key]);
?>
is also valid and ran 2x faster on my machine