Arrays::flatten()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 6

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 8
rs 9.4285
cc 1
eloc 6
nc 1
nop 1
1
<?php
2
namespace nochso\Omni;
3
4
/**
5
 * Arrays class provides methods for array manipulation missing from default PHP.
6
 */
7
final class Arrays {
8
	/**
9
	 * Flatten arrays and non-arrays recursively into a 2D array.
10
	 *
11
	 * @param array ...$elements Any amount of arrays and non-arrays.
12
	 *
13
	 * @return array
14
	 */
15
	public static function flatten(...$elements) {
16
		$return = [];
17
		$anvil = function ($element) use (&$return) {
18
			$return[] = $element;
19
		};
20
		array_walk_recursive($elements, $anvil);
21
		return $return;
22
	}
23
}
24