Documentation

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.

Tags
author

Bernhard Schussek bschussek@gmail.com

Table of Contents

Methods

getChoices()  : array<string|int, mixed>
Returns all selectable choices.
getChoicesForValues()  : array<string|int, mixed>
Returns the choices corresponding to the given values.
getOriginalKeys()  : array<string|int, int>|array<string|int, string>
Returns the original keys of the choices.
getStructuredValues()  : array<string|int, string>
Returns the values in the structure originally passed to the list.
getValues()  : array<string|int, string>
Returns the values for the choices.
getValuesForChoices()  : array<string|int, string>
Returns the values corresponding to the given choices.

Methods

getChoices()

Returns all selectable choices.

public getChoices() : array<string|int, mixed>
Return values
array<string|int, mixed>

The selectable choices indexed by the corresponding values

getChoicesForValues()

Returns the choices corresponding to the given values.

public getChoicesForValues(array<string|int, string> $values) : array<string|int, mixed>

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

Parameters
$values : array<string|int, string>

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

Return values
array<string|int, mixed>

getOriginalKeys()

Returns the original keys of the choices.

public getOriginalKeys() : array<string|int, int>|array<string|int, string>

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 values
array<string|int, int>|array<string|int, string>

The original choice keys indexed by the corresponding choice values

getStructuredValues()

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

public getStructuredValues() : array<string|int, string>

Contrary to , 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'],
]

Nested arrays do not make sense in a view format unless they are used as a convenient way of grouping. If the implementation does not intend to support grouped choices, this method SHOULD be equivalent to . The $groupBy callback parameter SHOULD be used instead.

Return values
array<string|int, string>

getValues()

Returns the values for the choices.

public getValues() : array<string|int, string>

The values are strings that do not contain duplicates:

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

In this example, the result of this method is:

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

Null and false MUST NOT conflict when being casted to string. For this some default incremented values SHOULD be computed.

Return values
array<string|int, string>

getValuesForChoices()

Returns the values corresponding to the given choices.

public getValuesForChoices(array<string|int, mixed> $choices) : array<string|int, string>

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

Parameters
$choices : array<string|int, mixed>

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

Return values
array<string|int, string>

        
On this page

Search results