ArrayKeyChoiceList устаревшее
class ArrayKeyChoiceList extends ArrayChoiceList
устаревшее
Список значений, которые могут храниться в ключах массива PHP.
Массивы PHP принимают только строки и целые числа в качестве ключей. Другие скалярные типы преобразуются в целые и строки в соответствии с описанием {@link toArrayKey()}. Эта реализация применяет те же правила преобразования для значений, переданных в конструктор и {@link getValuesForChoices()}.
По умолчанию значения преобразуются в строки и используются как значения. Также можно передать пользовательские значения. Ключи массива значений должны совпадать с ключами массива значений.
Пример:
```php $choices = array('' => 'Не знаю', 0 => 'Нет', 1 => 'Да'); $choiceList = new ArrayKeyChoiceList(array_keys($choices));
$values = $choiceList->getValues() // => array('', '0', '1')
$selectedValues = $choiceList->getValuesForChoices(array(true)); // => array('1') ```
Методы
| __construct(array|Traversable $choices, callable|null $value = null) Создает список с заданными значениями и ключами. | ||
| array | getChoices() Возвращает все выбираемые значения. | из ArrayChoiceList |
| string[] | getValues() Возвращает значения для значений. | из ArrayChoiceList |
| string[] | getStructuredValues() Возвращает значения в структуре, первоначально переданной в список. | из ArrayChoiceList |
| int[]|string[] | getOriginalKeys() Возвращает исходные ключи значений. | из ArrayChoiceList |
| array | getChoicesForValues(array $values) Возвращает значения, соответствующие заданным ключам. | |
| string[] | getValuesForChoices(array $choices) Возвращает значения, соответствующие заданным значениям. | |
| static int|string | toArrayKey(mixed $choice) Преобразует данное значение в ключ массива. |
Подробности
__construct(array|Traversable $choices, callable|null $value = null)
Создает список с заданными значениями и ключами.
Переданный массив значений должен иметь те же ключи, что и массив значений. Каждое значение должно быть преобразуемо в целое число/строку в соответствии с правилами преобразования, описанными в {@link toArrayKey()}.
Если значения не указаны, значения преобразуются в строки и используются в качестве значений.
Параметры
| array|Traversable | $choices | Выбираемые значения |
| callable|null | $value | Функция для создания значения для значения. Если null передано, в качестве значений используются нарастающие целые числа |
Исключения
| InvalidArgumentException | Если ключи значений не совпадают с ключами значений или любое из значений не является скалярным |
array getChoices()
Возвращает все выбираемые значения.
Возвращаемое значение
| array | Выбираемые значения, индексированные соответствующими значениями |
string[] getValues()
Возвращает значения для значений.
Значения — это строки, не содержащие дубликатов.
Возвращаемое значение
| string[] | Значения значений |
string[] 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'),
)
Возвращаемое значение
| string[] | Значения значений |
int[]|string[] getOriginalKeys()
Возвращает исходные ключи значений.
Исходные ключи — это ключи массива значений, переданного в параметре «choice» типа выбора. Обратите внимание, что этот массив может содержать дубликаты, если параметр «choice» содержал группы значений:
$form->add('field', 'choice', array(
'choices' => array(
'Decided' => array(true, false),
'Undecided' => array(null),
),
));
В этом примере, исходный ключ 0 появляется дважды, один раз для true и один раз для null.
Возвращаемое значение
| int[]|string[] | Исходные ключи значений, индексированные соответствующими значениями |
array getChoicesForValues(array $values)
Возвращает значения, соответствующие заданным ключам.
Значения возвращаются с теми же ключами и в том же порядке, что и соответствующие ключи в переданном массиве.
Параметры
| array | $values | Массив значений. Отсутствующие значения в этом массиве игнорируются |
Возвращаемое значение
| array | Массив значений |
string[] getValuesForChoices(array $choices)
Возвращает значения, соответствующие заданным значениям.
Значения возвращаются с теми же ключами и в том же порядке, что и соответствующие значения в переданном массиве.
Параметры
| array | $choices | Массив значений. Отсутствующие значения в этом массиве игнорируются |
Возвращаемое значение
| string[] | Массив значений |
static int|string toArrayKey(mixed $choice)
Преобразует данное значение в ключ массива.
Массивы PHP принимают только строки и целые числа в качестве ключей. Строки целых чисел, такие как "42", автоматически преобразуются в целые числа. Логические значения "true" и "false" преобразуются в целые числа 1 и 0. Все остальные скалярные значения преобразуются в строки.
Параметры
| mixed | $choice | Значение |
Возвращаемое значение
| int|string | Значение в качестве ключа массива PHP |
Исключения
| InvalidArgumentException | Если значение не является скалярным |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/Form/ChoiceList/ArrayKeyChoiceList.html