У меня есть форма с таблицей текстовых полей ввода HTML. Когда форма отправляется, она сохраняет значения в массивах столбцов. Но мне нужно хранить данные таблицы в виде массива или строк для отображения позже.
Итак, как я могу преобразовать отдельные массивы значений столбцов в 2D-массив массивов строк? Все длины столбцов одинаковы.
Таблица текстовых полей ввода html (например, <input type="text" name="name[]" />
):
a b c (where a = name[0], b = qty[0], c = price[0])
d e f (where d = name[1], e = qty[1], f = price[1])
g h i (where g = name[2], h = qty[2], i = price[2])
etc...
Массивы, которые я получаю при отправке формы:
col1: array(a, d, g, etc...)
col2: array(b, e, h, etc...)
col3: array(c, f, i, etc...)
Мне нужно хранить следующее в моей БД:
array(array(a, b, c), array(d, e, f), array(g, h, i), etc...)
Кроме того, как я могу сохранить этот массив массивов в БД? В какой форме? Blob?
Спасибо.
Предположим, у вас есть такой массив
$a = [[1,2,3],[4,5,6],[7,8,9]];
Способ получить
$b = [[1,4,7], [2,5,8], [3,6,9]];
было бы
$a = [[1,2,3],[4,5,6],[7,8,9]];
$b = [];
for($i=0;$i<3;$i++){
$toAppend = [];
for($j=0;$j<3;$j++){
$toAppend[] = $a[$j][$i];
}
$b[] = $toAppend;
}
Не самый элегантный, но работает.
Других решений пока нет …