interface ChoiceListInterface

A list of choices that can be selected in a choice field.

A choice list assigns unique string values to each of a list of choices. These string values are displayed in the "value" attributes in HTML and submitted back to the server.

The acceptable data types for the choices depend on the implementation. Values must always be strings and (within the list) free of duplicates.

Methods

array
getChoices()

Returns all selectable choices.

string[]
getValues()

Returns the values for the choices.

string[]
getStructuredValues()

Returns the values in the structure originally passed to the list.

int[]|string[]
getOriginalKeys()

Returns the original keys of the choices.

array
getChoicesForValues(array $values)

Returns the choices corresponding to the given values.

string[]
getValuesForChoices(array $choices)

Returns the values corresponding to the given choices.

Details

at line 33
array getChoices()

Returns all selectable choices.

Return Value

array The selectable choices indexed by the corresponding values

at line 42
string[] getValues()

Returns the values for the choices.

The values are strings that do not contain duplicates.

Return Value

string[] The choice values

at line 67
string[] getStructuredValues()

Returns the values in the structure originally passed to the list.

Contrary to {@link getValues()}, the result is indexed by the original keys of the choices. If the original array contained nested arrays, these nested arrays are represented here as well:

$form->add('field', 'choice', [
    'choices' => [
        'Decided' => ['Yes' => true, 'No' => false],
        'Undecided' => ['Maybe' => null],
    ],
]);

In this example, the result of this method is:

[
    'Decided' => ['Yes' => '0', 'No' => '1'],
    'Undecided' => ['Maybe' => '2'],
]

Return Value

string[] The choice values

at line 89
int[]|string[] getOriginalKeys()

Returns the original keys of the choices.

The original keys are the keys of the choice array that was passed in the "choice" option of the choice type. Note that this array may contain duplicates if the "choice" option contained choice groups:

$form->add('field', 'choice', [
    'choices' => [
        'Decided' => [true, false],
        'Undecided' => [null],
    ],
]);

In this example, the original key 0 appears twice, once for true and once for null.

Return Value

int[]|string[] The original choice keys indexed by the corresponding choice values

at line 102
array getChoicesForValues(array $values)

Returns the choices corresponding to the given values.

The choices are returned with the same keys and in the same order as the corresponding values in the given array.

Parameters

array $values An array of choice values. Non-existing values in this array are ignored

Return Value

array An array of choices

at line 115
string[] getValuesForChoices(array $choices)

Returns the values corresponding to the given choices.

The values are returned with the same keys and in the same order as the corresponding choices in the given array.

Parameters

array $choices An array of choices. Non-existing choices in this array are ignored

Return Value

string[] An array of choice values