public static function remove(array &$array, $needle, $strict = false, $preserve_keys = false)
    {
        $removed = 0;
        if ($keys = array_keys($array, $needle, $strict)) {
            foreach($keys as $key) {
                unset($array[$key]);
            }
            if (!$preserve_keys) {
                $array = array_values($array);
            }
            $removed = count($keys);
        }
        
        return $removed;
    }