HH\Set::addAllKeysOf

Adds the keys of the specified container to the current Set as new values

Description

public function addAllKeysOf<Tv2>(
  ?KeyedContainer<Tv,Tv2> $container,
): Set<Tv>

Future changes made to the current Set ARE reflected in the returned Set, and vice-versa.

Parameters

  • $container - The container with the new keys to add.

Return Values

Examples

This example adds string keys from a Map to a Set as its values:

<?hh

namespace Hack\UserDocumentation\API\Examples\Set\AddAllKeysOf\Strings;

$fruit_calories = Map {
  'apple' => 95,
  'orange' => 45,
};

$vegetable_calories = array(
  'cabbage' => 176,
  'potato' => 163,
);

$food_names = Set {};

// Add the keys from a Map
$food_names->addAllKeysOf($fruit_calories);

// Add the keys from an associative array
$food_names->addAllKeysOf($vegetable_calories);

var_dump($food_names);
Output
object(HH\Set)#2 (4) {
  string(5) "apple"
  string(6) "orange"
  string(7) "cabbage"
  string(6) "potato"
}

This example adds int keys from a Map to a Set as its values:

<?hh

namespace Hack\UserDocumentation\API\Examples\Set\AddAllKeysOf\Ints;

$uploaders_by_id = Map {
  4993063 => 'Amy Smith',
  9361760 => 'John Doe',
};

$commenters_by_id = array(
  4993063 => 'Amy Smith',
  7424854 => 'Jane Roe',
  5740542 => 'Joe Bloggs',
);

$all_ids = Set {};

// Add the keys from a Map
$all_ids->addAllKeysOf($uploaders_by_id);

// Add the keys from an associative array
$all_ids->addAllKeysOf($commenters_by_id);

var_dump($all_ids);
Output
object(HH\Set)#2 (4) {
  int(4993063)
  int(9361760)
  int(7424854)
  int(5740542)
}