{@inheritdoc}

@param array $keys (optional)

@return bool (if successfull)
423753
public function purge(array $keys=null)
    {

        if ($keys === null) {

            $someonePurged = false;

            $storages = $this->preloadAllStorages();

            foreach ($storages as $url=>$storage) {

                if ($result = $storage->purge()) {
                    $someonePurged = true;
                }

                $this->removeStorageIfLoaded($url);

            }

            return $someonePurged;
        }

        if (!$keys) {
            return false;
        }

        foreach ($keys as $key) {
            $this->offsetUnset($key);
        }

        return $this->persist();

    }
401085
public function has($keys)
    {
        $keys = is_array($keys) ? $keys : func_get_args();

        $results = $this->payload();

        foreach ($keys as $value) {
            if ($this->hasValueAtKey($value, $results) === false) {
                return false;
            }
        }
        return true;
    }
1265581
public function remove($keys)
    {
        $keys = (array) $keys; // Cast all the things
        $this->keys = array_filter($this->keys(), function ($key) use ($keys) {
            foreach ($keys as $remove) {
                if (preg_match('/^'.preg_quote($remove, '/').'(\..+)?$/', $key)) {
                    // Keys and descendant keys will be removed
                    return false;
                }
            }

            return true;
        });
    }
927407
public function mdelete($keys){
		//$this->queries_mset_count++;
		$result=true;
		foreach($keys as $key){
			$r=$this->delete($key);
			$result=$result & $r;
			}
		return $result;
		}
745007
protected function getAnyKey(array $keys)
    {
        foreach($keys as $key)
        {
            $value = $this->getValue($key);

            if(!is_null($value))
            {
                return $value;
            }
        }
    }
1117879
public function has($keys)
    {
        $keys = (array) $keys;
        if (!$this->elements || $keys === []) {
            return false;
        }
        foreach ($keys as $key) {
            $items = $this->elements;
            if ($this->exists($items, $key)) {
                continue;
            }
            foreach (explode('.', $key) as $segment) {
                if (!is_array($items) || !$this->exists($items, $segment)) {
                    return false;
                }
                $items = $items[$segment];
            }
        }
        return true;
    }
576613
public function getMulti(array $keys)
    {
        $results = array();
        foreach ($keys as $key) {
            $results[$key] = $this->get($key);
        }
        return $results;
    }
692821
public static function arrayKeysExists(array $keys, array $data)
    {
        return count(array_intersect_key(array_flip($keys), $data)) === count($keys);
    }
824148
public function replaceAllKeys(array $keys): self
    {
        return static::create(
            \array_combine($keys, $this->getArray()),
            $this->iteratorClass,
            false
        );
    }
154419
public function select(array $keys)
    {
        $list = [];
        foreach ($keys as $key) {
            if ($this->containsKey($key)) {
                $list[$key] = $this->get($key);
            }
        }

        return $this->createFrom($list);
    }
729544
public function has_any(array $keys) {
        foreach ($keys as $arraykey => $key) {
            $keys[$arraykey] = $this->prepare_key($key);
        }
        $result = apcu_exists($keys);
        return count($result) > 0;
    }
205488
public static function isPrimaryKey($keys)
    {
        if (!is_array($keys)) {
            $keys = [$keys];
        }
        $pks = static::getPrimaryKeyName(true);
        if (count($keys) === count($pks)) {
            return count(array_intersect($keys, $pks)) === count($pks);
        }

        return false;
    }
110593
public static function keysExist(array $data, array $keys): bool
    {
        if (count($keys) > 0) {
            foreach ($keys as $key) {
                if (!array_key_exists($key, $data)) {
                    return false;
                }
            }
        }
        return true;
    }
981360
public static function has($array, $keys): bool
    {
        if (null === $keys) {
            return false;
        }

        $keys = (array)$keys;

        if (!$array) {
            return false;
        }

        if ($keys === []) {
            return false;
        }

        foreach ($keys as $key) {
            $subKeyArray = $array;

            if (static::exists($array, $key)) {
                continue;
            }

            foreach (explode('.', $key) as $segment) {
                if (static::accessible($subKeyArray) && static::exists($subKeyArray, $segment)) {
                    $subKeyArray = $subKeyArray[$segment];
                } else {

                    return false;
                }
            }
        }

        return true;
    }
374110
public function detach($keys): bool
    {
        if ($keys instanceof Arrayable) {
            $keys = $keys->toArray();
        }

        foreach ($keys as $key) {
            $this->remove($key);
        }

        return true;
    }
1060139
public function wasModified($keys = null)
    {
        $modified = $this->getModifiedData();
        $removedKeys = $this->getRemovedKeys();

        if (!$keys) {
            return (bool)$modified || (bool)$removedKeys;
        }

        $keys = is_array($keys) ? $keys : func_get_args();

        foreach ($keys as $key) {

            if (array_key_exists($key, $modified)) {
                return true;
            }

            if (in_array($key, $removedKeys)) {
                return true;
            }
        }

        return false;
    }
29024
public function hasPayloadData($keys): bool
    {
        if (is_null($this->payload)) {
            return false;
        }

        if (!is_array($keys)) {
            $keys = [$keys];
        }

        foreach ($keys as $key) {
            if (!isset($this->payload[$key])) {
                return false;
            }
        }

        return true;
    }