add()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 6
nc 3
nop 2
dl 0
loc 11
rs 10
c 0
b 0
f 0
1
<?php
2
declare(strict_types=1);
3
4
namespace BrenoRoosevelt;
5
6
/**
7
 * Adds elements to a collection if they don't exist yet (set behavior).
8
 * The element index (key) is irrelevant for this operation.
9
 * This function uses strict comparison to determine if element exists
10
 *
11
 * @param  array $set         The collection
12
 * @param  mixed ...$elements Elements to be added
13
 * @return int The number of items added to the collection
14
 */
15
function add(array &$set, ...$elements): int
16
{
17
    $added = 0;
18
    foreach ($elements as $element) {
19
        if (! in_array($element, $set, true)) {
20
            $set[] = $element;
21
            $added++;
22
        }
23
    }
24
25
    return $added;
26
}
27