Spec-Zone.ru › Symfony 3.1

Список выбора ключей массива устаревший

класс Список выбора ключей массива расширяет Список выбора элементов массива

устаревший

с версии версия 2.8, будет удалена в 3.0. Используйте Список выбора элементов массива вместо этого.

Список вариантов, которые могут храниться в ключах PHP-массива.

PHP-массивы принимают только строки и целые числа в качестве ключей массива. Другие скалярные типы преобразуются в целые числа и строки в соответствии с описанием {@link toArrayKey()}. Эта реализация применяет те же правила преобразования для вариантов, переданных в конструктор и {@link getValuesForChoices()}.

По умолчанию варианты преобразуются в строки и используются в качестве значений. По желанию можно передать пользовательские значения. Ключи массива значений должны совпадать с ключами массива вариантов.

Пример:

```php $choices = array('' => 'Не знаю', 0 => 'Нет', 1 => 'Да'); $choiceList = new Список выбора ключей массива(array_keys($choices));

$values = $choiceList->getValues() // => array('', '0', '1')

$selectedValues = $choiceList->getValuesForChoices(array(true)); // => array('1') ```

Методы

__construct(array|Traversable $choices, callable|null $value = null)

Создает список с заданными вариантами и значениями.

массив getChoices()

Возвращает все выбираемые варианты.

из Список выбора элементов массива
массив строк getValues()

Возвращает значения для вариантов.

из Список выбора элементов массива
массив строк getStructuredValues()

Возвращает значения в структуре, первоначально переданной в список.

из Список выбора элементов массива
массив целых чисел или строк getOriginalKeys()

Возвращает исходные ключи вариантов.

из Список выбора элементов массива
массив getChoicesForValues(array $values)

Возвращает варианты, соответствующие заданным значениям.

массив строк getValuesForChoices(array $choices)

Возвращает значения, соответствующие заданным вариантам.

статический int|строка toArrayKey(mixed $choice)

Преобразует заданный вариант в ключ массива.

Подробности

__construct(array|Traversable $choices, callable|null $value = null)

Создает список с заданными вариантами и значениями.

Заданный массив вариантов должен иметь те же ключи массива, что и массив значений. Каждый вариант должен быть преобразуем в целое число/строку в соответствии с правилами преобразования, описанными в {@link toArrayKey()}.

Если значения не заданы, варианты преобразуются в строки и используются в качестве значений.

Параметры

array|Traversable $choices Выбираемые варианты
callable|null $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()

Возвращает исходные ключи вариантов.

Исходные ключи — это ключи массива вариантов, которые были переданы в параметре «выбор» типа выбора. Обратите внимание, что этот массив может содержать дубликаты, если параметр «выбор» содержал группы вариантов:

$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 Массив вариантов. Несуществующие варианты в этом массиве игнорируются

Значение результата

массив строк Массив значений вариантов

статический int|строка toArrayKey(mixed $choice)

Преобразует заданный вариант в ключ массива.

PHP-массивы принимают только строки и целые числа в качестве ключей массива. Строки целых чисел, такие как "42", автоматически преобразуются в целые числа. Логические значения "true" и "false" преобразуются в целые числа 1 и 0 соответственно. Все остальные скалярные значения преобразуются в строки.

Параметры

смешанный тип $choice Вариант

Значение результата

int|строка Вариант как ключ PHP-массива

Исключения

Исключение некорректного аргумента Если вариант не является скалярным

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.8/Symfony/Component/Form/ChoiceList/ArrayKeyChoiceList.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API