Supported Versions: PHP 4, PHP 5, PHP 7, PHP 8
Set the internal pointer of an array to its last element
<?php end(array|object &$array): mixed
<?php     public static function last($array, ?callable $callback = null, $default = null)

    {

        if (is_null($callback)) {

            return empty($array) ? value($default) : end($array);

        }



        return static::first(array_reverse($array, true), $callback, $default);
<?php         }



        if (count($array) === 1) {

            return end($array);

        }



        $finalItem = array_pop($array);
<?php     function last($array)

    {

        return end($array);

    }

}
<?php     public function whereBetween($key, $values)

    {

        return $this->where($key, '>=', reset($values))->where($key, '<=', end($values));

    }
<?php     public function whereNotBetween($key, $values)

    {

        return $this->filter(

            fn ($item) => data_get($item, $key) < reset($values) || data_get($item, $key) > end($values)

        );

    }
<?php     protected function findInContextualBindings($abstract)

    {

        return $this->contextual[end($this->buildStack)][$abstract] ?? null;

    }
<?php     protected function getLastParameterOverride()

    {

        return count($this->with) ? end($this->with) : [];

    }
<?php         $segments = preg_split('/\s+as\s+/i', $this->query->from);



        $qualifiedColumn = end($segments).'.'.$column;



        $values[$qualifiedColumn] = Arr::get($values, $qualifiedColumn, $values[$column]);
<?php             }



            if (is_callable($value)) {

                $path[count($segments) - 1][end($segments)] = $value;

            }



            $this->loadMissingRelation($this, $path);
<?php     {

        $segments = explode('.', $this->getQualifiedForeignKeyName());



        return end($segments);

    }
<?php         $min = $this->parameter(is_array($where['values']) ? reset($where['values']) : $where['values'][0]);



        $max = $this->parameter(is_array($where['values']) ? end($where['values']) : $where['values'][1]);



        return $this->wrap($where['column']).' '.$between.' '.$min.' and '.$max;

    }
<?php         $min = $this->wrap(is_array($where['values']) ? reset($where['values']) : $where['values'][0]);



        $max = $this->wrap(is_array($where['values']) ? end($where['values']) : $where['values'][1]);



        return $this->wrap($where['column']).' '.$between.' '.$min.' and '.$max;

    }
<?php     public function zadd($key, ...$dictionary)

    {

        if (is_array(end($dictionary))) {

            foreach (array_pop($dictionary) as $member => $score) {

                $dictionary[] = $score;

                $dictionary[] = $member;
<?php         $prefix = implode('/', array_slice($segments, 0, -1));



        return [end($segments), $prefix];

    }
<?php         $uri = $this->getNestedResourceUri($segments);



        return str_replace('/{'.$this->getResourceWildcard(end($segments)).'}', '', $uri);

    }