# flat()

{% code title="Example.php" %}

```php
<?php use kim\present\utils\arrays\ArrayUtils;

$arrayUtils = ArrayUtils::from([
    [1, 2, 3],
    [[4, 5, 6], [7, 8, 9]],
    10
]);

//To flat single level array
$arrayUtils->flat();
// expected output: [1, 2, 3, [4, 5, 6], [7, 8, 9], 10]

//To flat two level array
$arrayUtils->flat(2);
// expected output: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
```

{% endcode %}

## Syntax

```php
$arrayUtils->flat(int $dept = 1) : ArrayUtils;
```

### Parameter

* `$dept` <img src="https://2976351099-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MKYhyHaArG9Gsnmdxc8%2F-MKk9I82AGQBHkmwnVvk%2F-MKk9YjCz_YkVR1YiRy-%2FBADGE_OPTIONAL.svg?alt=media&#x26;token=3fbbac84-2f1b-40af-a991-b2eff659866a" alt="" data-size="line">&#x20;
  * The depth level that should be flattened.\
    Default is `1`.

### Return value

* A new array with the sub-array elements concatenated into it.

## Prefixing

```php
$arrayUtils->flatAs(int $dept = 1) : array;
```

```php
ArrayUtils::flatFrom(iterable $from, int $dept = 1) : ArrayUtils;
```

```php
ArrayUtils::flatFromAs(iterable $from, int $dept = 1) : array;
```

## References

{% embed url="<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat>" %}
