Class

Symfony\Component\Form\Extension\Core\ChoiceList\ChoiceList

class ChoiceList implements ChoiceListInterface

A choice list for choices of arbitrary data types.

Choices and labels are passed in two arrays. The indices of the choices and the labels should match. Choices may also be given as hierarchy of unlimited depth by creating nested arrays. The title of the sub-hierarchy can be stored in the array key pointing to the nested array. The topmost level of the hierarchy may also be a \Traversable.

$choices = array(true, false); $labels = array('Agree', 'Disagree'); $choiceList = new ChoiceList($choices, $labels);

Methods

__construct(array|Traversable $choices, array $labels, array $preferredChoices = array())

Creates a new choice list.

array getChoices()

Returns the list of choices

array getValues()

Returns the values for the choices

array getPreferredViews()

Returns the choice views of the preferred choices as nested array with the choice groups as top-level keys.

array getRemainingViews()

Returns the choice views of the choices that are not preferred as nested array with the choice groups as top-level keys.

array getChoicesForValues(array $values)

Returns the choices corresponding to the given values.

array getValuesForChoices(array $choices)

Returns the values corresponding to the given choices.

array getIndicesForChoices(array $choices)

Returns the indices corresponding to the given choices.

array getIndicesForValues(array $values)

Returns the indices corresponding to the given values.

Details

at line 84
public __construct(array|Traversable $choices, array $labels, array $preferredChoices = array())

Creates a new choice list.

Parameters

array|Traversable $choices The array of choices. Choices may also be given as hierarchy of unlimited depth. Hierarchies are created by creating nested arrays. The title of the sub-hierarchy can be stored in the array key pointing to the nested array. The topmost level of the hierarchy may also be a \Traversable.
array $labels The array of labels. The structure of this array should match the structure of $choices.
array $preferredChoices A flat array of choices that should be presented to the user with priority.

Exceptions

UnexpectedTypeException If the choices are not an array or \Traversable.

at line 121
public array getChoices()

Returns the list of choices

Return Value

array The choices with their indices as keys.

at line 129
public array getValues()

Returns the values for the choices

Return Value

array The values with the corresponding choice indices as keys.

at line 137
public array getPreferredViews()

Returns the choice views of the preferred choices as nested array with the choice groups as top-level keys.

Example:

array( 'Group 1' => array( 10 => ChoiceView object, 20 => ChoiceView object, ), 'Group 2' => array( 30 => ChoiceView object, ), )

Return Value

array A nested array containing the views with the corresponding choice indices as keys on the lowest levels and the choice group names in the keys of the higher levels.

at line 145
public array getRemainingViews()

Returns the choice views of the choices that are not preferred as nested array with the choice groups as top-level keys.

Example:

array( 'Group 1' => array( 10 => ChoiceView object, 20 => ChoiceView object, ), 'Group 2' => array( 30 => ChoiceView object, ), )

Return Value

array A nested array containing the views with the corresponding choice indices as keys on the lowest levels and the choice group names in the keys of the higher levels.

at line 153
public array getChoicesForValues(array $values)

Returns the choices corresponding to the given values.

Parameters

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

Return Value

array An array of choices with ascending, 0-based numeric keys

at line 177
public array getValuesForChoices(array $choices)

Returns the values corresponding to the given choices.

Parameters

array $choices An array of choices. Not existing choices in this array are ignored.

Return Value

array An array of choice values with ascending, 0-based numeric keys

at line 201
public array getIndicesForChoices(array $choices)

Returns the indices corresponding to the given choices.

Parameters

array $choices An array of choices. Not existing choices in this array are ignored.

Return Value

array An array of indices with ascending, 0-based numeric keys

at line 225
public array getIndicesForValues(array $values)

Returns the indices corresponding to the given values.

Parameters

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

Return Value

array An array of indices with ascending, 0-based numeric keys