framework/helpers/BaseArrayHelper.php
public static function remove(&$array, $key, $default = null)
    {
        if (is_array($array) && (isset($array[$key]) || array_key_exists($key, $array))) {
            $value = $array[$key];
            unset($array[$key]);

            return $value;
        }

        return $default;
    }
public static function remove(&$array, $key, $default = null)
    {
        if (is_array($array) && (isset($array[$key]) || array_key_exists($key, $array))) {
            $value = $array[$key];
            unset($array[$key]);

            return $value;
        }

        return $default;
    }
Removes an item from an array and returns the value. If the key does not exist in the array, the default value
will be returned instead.

Usage examples,

```php
// $array = ['type' => 'A', 'options' => [1, 2]];
// working with array
$type = \yii\helpers\ArrayHelper::remove($array, 'type');
// $array content
// $array = ['options' => [1, 2]];
```

@param array $array the array to extract value from
@param string $key key name of the array element
@param mixed $default the default value to be returned if the specified key does not exist
@return mixed|null the value of the element if found, default value otherwise