ajouter merge2
This commit is contained in:
parent
104da4515b
commit
fe4d0d8acb
|
@ -73,6 +73,11 @@ class A {
|
|||
$dest = cl::merge($dest, ...$merges);
|
||||
}
|
||||
|
||||
static function merge2(&$dest, ...$merges): void {
|
||||
self::ensure_narray($dest);
|
||||
$dest = cl::merge2($dest, ...$merges);
|
||||
}
|
||||
|
||||
static final function select(&$dest, ?array $mappings, bool $inverse=false): void {
|
||||
self::ensure_narray($dest);
|
||||
$dest = cl::select($dest, $mappings, $inverse);
|
||||
|
|
16
src/cl.php
16
src/cl.php
|
@ -302,6 +302,7 @@ class cl {
|
|||
|
||||
/**
|
||||
* Fusionner tous les tableaux spécifiés. Les valeurs null sont ignorées.
|
||||
* IMPORTANT: les clés numériques sont réordonnées.
|
||||
* Retourner null si aucun tableau n'est fourni ou s'ils étaient tous null.
|
||||
*/
|
||||
static final function merge(...$arrays): ?array {
|
||||
|
@ -313,6 +314,21 @@ class cl {
|
|||
return $merges? array_merge(...$merges): null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fusionner tous les tableaux spécifiés. Les valeurs null sont ignorées.
|
||||
* IMPORTANT: les clés numériques NE SONT PAS réordonnées.
|
||||
* Retourner null si aucun tableau n'est fourni ou s'ils étaient tous null.
|
||||
*/
|
||||
static final function merge2(...$arrays): ?array {
|
||||
$merged = null;
|
||||
foreach ($arrays as $array) {
|
||||
foreach (self::with($array) as $key => $value) {
|
||||
$merged[$key] = $value;
|
||||
}
|
||||
}
|
||||
return $merged;
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
|
||||
static final function map(callable $callback, ?iterable $array): array {
|
||||
|
|
Loading…
Reference in New Issue