private function applyClosures($data)
    {
        if (!empty($this->filterClosures)) {
            $data = array_filter($data, function ($datum) {
                foreach ($this->filterClosures as $closure) {
                    if (!$closure($datum)) {
                        return false;
                    }
                }

                return true;
            });
        }

        if (!empty($this->sortClosures)) {
            uasort($data, function($rowA, $rowB) {
                foreach ($this->sortClosures as $closure) {
                    if (0 != $result = $closure($rowA, $rowB)) {
                        return $result;
                    }
                }

                return 0;
            });
        }

        if ($this->identifiersClosures) {
            $data = array_filter($data, $this->identifiersClosures, ARRAY_FILTER_USE_KEY);
        }

        return $data;
    }
private function applyClosures($data)
    {
        if (!empty($this->filterClosures)) {
            $data = array_filter($data, function ($datum) {
                foreach ($this->filterClosures as $closure) {
                    if (!$closure($datum)) {
                        return false;
                    }
                }

                return true;
            });
        }

        if (!empty($this->sortClosures)) {
            uasort($data, function($rowA, $rowB) {
                foreach ($this->sortClosures as $closure) {
                    if (0 != $result = $closure($rowA, $rowB)) {
                        return $result;
                    }
                }

                return 0;
            });
        }

        if ($this->identifiersClosures) {
            $data = array_filter($data, $this->identifiersClosures, ARRAY_FILTER_USE_KEY);
        }

        return $data;
    }
private function applyClosures ( $ data ) { if ( ! empty ( $ this -> filterClosures ) ) { $ data = array_filter ( $ data , function ( $ datum ) { foreach ( $ this -> filterClosures as $ closure ) { if ( ! $ closure ( $ datum ) ) { return false ; } } return true ; } ) ; } if ( ! empty ( $ this -> sortClosures ) ) { uasort ( $ data , function ( $ rowA , $ rowB ) { foreach ( $ this -> sortClosures as $ closure ) { if ( 0 != $ result = $ closure ( $ rowA , $ rowB ) ) { return $ result ; } } return 0 ; } ) ; } if ( $ this -> identifiersClosures ) { $ data = array_filter ( $ data , $ this -> identifiersClosures , ARRAY_FILTER_USE_KEY ) ; } return $ data ; }
Applies the filters and sort closures.

@param array $data

@return array
Applies the filters and sort closures .