Passed
Push — master ( 68f9e3...36b0af )
by Andrey
02:57 queued 39s
created

Arr::unique()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
c 1
b 0
f 0
dl 0
loc 3
ccs 2
cts 2
cp 1
rs 10
cc 1
nc 1
nop 1
crap 1
1
<?php
2
3
namespace Helldar\LaravelLangPublisher\Support;
4
5
use Closure;
6
7
final class Arr
8
{
9
    /**
10
     * Getting unique values.
11
     *
12
     * @param  array  $array
13
     *
14
     * @return array
15
     */
16 12
    public function unique(array $array): array
17
    {
18 12
        return array_values(array_filter(array_unique($array)));
19
    }
20
21
    /**
22
     * Getting the first element of an array.
23
     *
24
     * @param  array  $array
25
     *
26
     * @return mixed
27
     */
28
    public function first(array $array)
29
    {
30
        return array_shift($array);
31
    }
32
33
    /**
34
     * Getting array keys.
35
     *
36
     * @param  array  $array
37
     *
38
     * @return array
39
     */
40
    public function keys(array $array): array
41
    {
42
        return array_keys($array);
43
    }
44
45
    /**
46
     * Transforming an array using the callback function.
47
     *
48
     * @param  array  $array
49
     * @param  \Closure  $callback
50
     *
51
     * @return array
52
     */
53
    public function transform(array $array, Closure $callback): array
54
    {
55
        foreach ($array as &$value) {
56
            $value = $callback($value);
57
        }
58
59
        return $array;
60
    }
61
}
62