# user-access-manager/2.3.9/src/Form/ValueSetFormElement.php

User Access Manager, version 2.3.9. 40 lines.

- Page: https://pluginprobe.com/plugins/user-access-manager/2.3.9/code/src/Form/ValueSetFormElement.php
- Raw: https://pluginprobe.com/plugins/user-access-manager/2.3.9/raw/src/Form/ValueSetFormElement.php
- Modified: 2026-01-19T08:35:24+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/user-access-manager/2.3.9/code/src/Form/ValueSetFormElement.php#L10-L20`.

```php
<?php

declare(strict_types=1);

namespace UserAccessManager\Form;

abstract class ValueSetFormElement extends FormElement
{

    /**
     * @param ValueSetFormElementValue[] $possibleValues
     */
    public function __construct(
        string $id,
        protected array $possibleValues,
        mixed $value = null,
        ?string $label = null,
        ?string $description = null
    ) {
        parent::__construct($id, $value, $label, $description);

        $keys = array_map(
            function (ValueSetFormElementValue $value) {
                return $value->getValue();
            },
            $possibleValues
        );

        $this->possibleValues = array_combine($keys, $possibleValues);
    }

    /**
     * @return ValueSetFormElementValue[]
     */
    public function getPossibleValues(): array
    {
        return $this->possibleValues;
    }
}

```
