Gajus\Vlad\Validator\In::assess PHP Method

assess() public method

public assess ( $value )
    public function assess($value)
    {
        $options = $this->getOptions();
        /*if ($options['recursive']) {
                    foreach ($subject->getSelector()->getPath() as $crumble) {
                        if (!isset($options['haystack'][$crumble]) || !is_array($options['haystack'][$crumble])) {
                            throw new \Gajus\Vlad\Exception\InvalidArgumentException('Selector path does not resolve an array within the haystack.');
                        }
        
                        $options['haystack'] = $options['haystack'][$crumble];
                    }
                }
        
                if ($options['inverse']) {
                    $options['haystack'] = array_flip($options['haystack']);
                }*/
        if ((is_string($value) || is_int($value)) && !array_filter($options['haystack'], 'is_array') && $options['strict'] && $options['c14n']) {
            $value = (string) $value;
            $options['haystack'] = array_map('strval', $options['haystack']);
            if (!in_array($value, $options['haystack'], true)) {
                return false;
            }
        } else {
            if (!in_array($value, $options['haystack'], $options['strict'])) {
                return false;
            }
        }
        return true;
    }