src/Arrays.php
public static function forget(&$array, $keys)
	{
		// this allows the key to be an array of keys
		if (\Gears\Arrays\isArrayLike($keys))
		{
			$new_keys = [];

			foreach ($keys as $key)
			{
				if (\Gears\Arrays\isArrayLike($key))
				{
					$new_keys[] = implode('.', $key);
				}
				else
				{
					$new_keys[] = $key;
				}
			}

			$keys = $new_keys;
		}

		return parent::forget($array, $keys);
	}
public static function forget(&$array, $keys)
	{
		// this allows the key to be an array of keys
		if (\Gears\Arrays\isArrayLike($keys))
		{
			$new_keys = [];

			foreach ($keys as $key)
			{
				if (\Gears\Arrays\isArrayLike($key))
				{
					$new_keys[] = implode('.', $key);
				}
				else
				{
					$new_keys[] = $key;
				}
			}

			$keys = $new_keys;
		}

		return parent::forget($array, $keys);
	}
Method: forget
=========================================================================
We are overloading the parent forget method so that we can accept
either an array of keys or "dot" separated keys. This should stay
compatiable with the upstream method.

For example the following 2 calls are the same:

```php
Arr::forget(['a' => ['b' => ['c' => 'd']]], 'a.b.c');
Arr::forget(['a' => ['b' => ['c' => 'd']]], ['a','b','c']);
```

Parameters:
-------------------------------------------------------------------------
$array - A refrence to the PHP array to remove items from.
$keys - Can be a single key, "dot" separated keys or an array of keys.

Returns:
-------------------------------------------------------------------------
void