Здравствуйте, у меня проблемы с фильтрацией значения моего поста. Когда я отправлю сообщение, он вернет массив вроде:
Array ( [db-table] => afdeling
[box-2] => 2
[box-3] => 3
[db-fields] => array( random fields )
[box-6] => 6
)
Форма состоит из 4 частей, сначала несколько текстовых полей, которые находятся внутри набора полей, затем 4 флажка с меткой 1 — 4 во втором наборе полей, затем еще несколько текстовых полей внутри набора полей с номером три и, наконец, еще 4 флажка с меткой 5-8 внутри четвертого поля. FIELDSET. наборы полей названы:
Я также искал такие вещи, как «фильтрация похожих именованных полей из поста» и пробовал это с некоторыми функциями массива, такими как array_keys / filter с 2 для циклов, чтобы получить их по частям, но я не смог заставить это работать.
В конце концов, я ожидаю отфильтровать массив в $_POST
к такой структуре:
Array (
'db-data' => array( [db-table] => afdeling
[db-fields] => array( random fields )
),
'checkboxes' => array( [box-2] => 2
[box-3] => 3
[box-6] => 6
)
)
Так может ли кто-нибудь подтолкнуть меня в правильном направлении при фильтрации полей из массива?
Сложение:
В данный момент я пытаюсь упорядочить массив в алфавитном порядке, чтобы поле -? поля будут в начале или в конце массива.
Однако проблема в том, что коробка? поля могут встречаться от 1 до 8 раз. Поэтому мне нужен какой-то способ подсчета каждого ключа массива, который выглядит следующим образом: box- ?. Чтобы узнать, сколько из них есть.
Вы можете назвать свои поля, используя []
, например:
<input name="db-data[db-table]" ... />
<input name="db-data[db-fields][first-field]" ... />
<input name="db-data[db-fields][second-field]" ... />
<input name="checkboxes[box-1]" ... />
<input name="checkboxes[box-2]" ... />
В этом случае ваш $_POST
массив уже будет иметь ту структуру, которую вы хотите.
Других решений пока нет …