YaLinqo\Enumerable::min PHP Method

min() public method

Syntax: min ()

Returns the minimum value in a sequence of values.

Syntax: min (selector {(v, k) ==> value})

Invokes a transform function on each element of a sequence and returns the minimum value.

public min ( callable | null $selector = null ) : number
$selector callable | null {(v, k) ==> value} A transform function to apply to each element. Default: value.
return number The minimum value in the sequence.
    public function min($selector = null)
    {
        $selector = Utils::createLambda($selector, 'v,k', Functions::$value);
        $min = PHP_INT_MAX;
        $assigned = false;
        foreach ($this as $k => $v) {
            $min = min($min, $selector($v, $k));
            $assigned = true;
        }
        if (!$assigned) {
            throw new \UnexpectedValueException(Errors::NO_ELEMENTS);
        }
        return $min;
    }