HH\Vector::addAllKeysOf
Adds the keys of the specified container to the current Vector
public function addAllKeysOf(
?KeyedContainer<Tv, mixed> $container,
): Vector<Tv>;
For every key in the provided KeyedContainer
, append that key into
the current Vector
, assigning the next available integer key for each.
Future changes made to the current Vector
ARE reflected in the
returned Vector
, and vice-versa.
Parameters
?KeyedContainer<Tv, mixed> $container
- TheKeyedContainer
with the new keys to add.
Returns
Vector<Tv>
- Returns itself.
Examples
This example adds string
keys from a Map
to a Vector
as its values:
$fruit_calories = Map {
'apple' => 95,
'orange' => 45,
};
$vegetable_calories = array(
'cabbage' => 176,
'potato' => 163,
);
$food_names = Vector {};
// 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);
object(HH\Vector)#2 (4) {
[0]=>
string(5) "apple"
[1]=>
string(6) "orange"
[2]=>
string(7) "cabbage"
[3]=>
string(6) "potato"
}
This example adds int
keys from a Map
to a Vector
as its values:
$uploaders_by_id = Map {
4993063 => 'Amy Smith',
9361760 => 'John Doe',
};
$commenters_by_id = array(
7424854 => 'Jane Roe',
5740542 => 'Joe Bloggs',
);
$all_ids = Vector {};
// 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);
object(HH\Vector)#2 (4) {
[0]=>
int(4993063)
[1]=>
int(9361760)
[2]=>
int(7424854)
[3]=>
int(5740542)
}