Лучший вариант - использовать json_encode / json_decode
.
Вы также можете использовать serialize / unserialize
.
JSON гораздо более портативен.Может использоваться на любых языках программирования.(Расширенная поддержка формата)
Вы можете создать два метода с помощью getter и setter: (Выберите один из вышеперечисленных способов)
См. Эту ссылку .
Для сериализации:
serialize ([Array]);
unserialize([Serialized value]);
Rull Models Если вы хотите проверить массив в Правилах проверки:
['yourField',function ($attribute, $params) {
if(!is_array($this->valueYourField)){
$this->addError('yourField','yourField not array!');
}
}]
Дляпример , если ваш массив должен быть только целым числом.Используйте allowArray
['yourField', 'in', 'range' => [1, 2, 3], 'allowArray' => true, 'message' => '{attribute} is invalid.']
Вы также можете проверить содержимое вашего массива в вашем контроллере и После использования вышеуказанных методов, используйте Safe
В файле модели. (Правила)
['yourField', 'safe'],
Примечание: Не использовать implode()
.Вызывает проблему
Также проверьте это Расширение или Это