ArrayChoiceList
class ArrayChoiceList implements ChoiceListInterface
Список вариантов с произвольными типами данных.
Пользователь этого класса отвечает за присвоение строковых значений вариантам. И варианты, и их значения передаются в конструктор. Каждый вариант должен иметь соответствующее значение (с тем же ключом массива) в массиве значений.
Свойства
| protected массив | $choices | Варианты в списке. | |
| protected массив | $structuredValues | Значения, индексированные исходными ключами. | |
| protected массив целых чисел или строк | $originalKeys | Исходные ключи массива вариантов. | |
| protected обратный вызов | $valueCallback | Обратный вызов для создания значения для варианта. |
Методы
| __construct(iterable $choices, callable $value = null) Создаёт список с заданными вариантами и значениями. | ||
| массив | getChoices() Возвращает все выбираемые варианты. | |
| массив строк | getValues() Возвращает значения для вариантов. | |
| массив строк | getStructuredValues() Возвращает значения в структуре, изначально переданной в список. | |
| массив целых чисел или строк | getOriginalKeys() Возвращает исходные ключи вариантов. | |
| массив | getChoicesForValues(array $values) Возвращает варианты, соответствующие заданным значениям. | |
| массив строк | getValuesForChoices(array $choices) Возвращает значения, соответствующие заданным вариантам. | |
| flatten(array $choices, callable $value, array $choicesByValues, array $keysByValues, array $structuredValues) Разворачивает массив в заданные переменные вывода. |
Подробное описание
__construct(iterable $choices, callable $value = null)
Создаёт список с заданными вариантами и значениями.
Переданный массив вариантов должен иметь те же ключи массива, что и массив значений.
Параметры
| iterable | $choices | Выбираемые варианты |
| callable | $value | Обратный вызов для создания значения для варианта. Если null передано, в качестве значений используются нарастающие целые числа |
массив getChoices()
Возвращает все выбираемые варианты.
Значение результата
| массив | Выбираемые варианты, индексированные соответствующими значениями |
массив строк getValues()
Возвращает значения для вариантов.
Значения являются строками, не содержащими дубликатов.
Значение результата
| массив строк | Значения вариантов |
массив строк getStructuredValues()
Возвращает значения в структуре, изначально переданной в список.
В отличие от {@link getValues()}, результат индексируется исходными ключами вариантов. Если исходный массив содержал вложенные массивы, эти вложенные массивы также представлены здесь:
$form->add('field', 'choice', array(
'choices' => array(
'Decided' => array('Yes' => true, 'No' => false),
'Undecided' => array('Maybe' => null),
),
));
В этом примере результат этого метода:
array(
'Decided' => array('Yes' => '0', 'No' => '1'),
'Undecided' => array('Maybe' => '2'),
)
Значение результата
| массив строк | Значения вариантов |
массив целых чисел или строк getOriginalKeys()
Возвращает исходные ключи вариантов.
Исходные ключи — это ключи массива вариантов, которые были переданы в опции "choice" типа выбора. Обратите внимание, что этот массив может содержать дубликаты, если опция "choice" содержала группы вариантов:
$form->add('field', 'choice', array(
'choices' => array(
'Decided' => array(true, false),
'Undecided' => array(null),
),
));
В этом примере исходный ключ 0 появляется дважды, один раз для true и один раз для null.
Значение результата
| массив целых чисел или строк | Исходные ключи вариантов, индексированные соответствующими значениями вариантов |
массив getChoicesForValues(array $values)
Возвращает варианты, соответствующие заданным значениям.
Варианты возвращаются с теми же ключами и в том же порядке, что и соответствующие значения в переданном массиве.
Параметры
| массив | $values | Массив значений вариантов. Отсутствующие значения в этом массиве игнорируются |
Значение результата
| массив | Массив вариантов |
массив строк getValuesForChoices(array $choices)
Возвращает значения, соответствующие заданным вариантам.
Значения возвращаются с теми же ключами и в том же порядке, что и соответствующие варианты в переданном массиве.
Параметры
| массив | $choices | Массив вариантов. Отсутствующие варианты в этом массиве игнорируются |
Значение результата
| массив строк | Массив значений вариантов |
protected flatten(array $choices, callable $value, array $choicesByValues, array $keysByValues, array $structuredValues)
Разворачивает массив в заданные переменные вывода.
Параметры
| массив | $choices | Массив для разворота |
| callable | $value | Обратный вызов для генерации значений вариантов |
| массив | $choicesByValues | Развороченные варианты, индексированные соответствующими значениями |
| массив | $keysByValues | Исходные ключи, индексированные соответствующими значениями |
| массив | $structuredValues | Значения, индексированные исходными ключами |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Form/ChoiceList/ArrayChoiceList.html