Я пытаюсь выяснить, как я могу обрабатывать возможные дубликаты ключей массива. Да, я знаю, что ключи дубликатов массивов НЕВОЗМОЖНО, но голые со мной на мгновение.PHP, как обрабатывать возможные дубликаты ключей массива?
У меня есть эта форма с выпадающим списком, в котором можно выбрать несколько опций (более 1). И я использую jQuery.serialize()
, чтобы сериализовать форму на submit.
Сериализованная строка для множественного выбора элемента будет выглядеть так:
select=1&select=2&select=3 // assumming I selected first 3 options.
Теперь в стороне PHP, у меня есть следующий код для обработки «экономия» части в базу данных.
$form_data = $_POST['form_items'];
$form_data = str_replace('&','####',$form_data);
$form_data = urldecode($form_data);
$arr = array();
foreach (explode('####', $form_data) as $part) {
list($key, $value) = explode('=', $part, 2);
$arr[$key] = $value;
}
Ok все это работает для всех остальных элементов формы, но когда дело доходит до выбора элемента, он выбирает только последнюю пару выбранный ключ/значение. Так что мой массив теперь выглядит следующим образом:
Array ([select_element] => 3)
Что мне нужно, это для того, чтобы выглядеть следующим образом:
Array ([select_element] => '1,2,3')
Так что я думаю, что я прошу основана на моем коде, как я могу проверить если ключ уже существует, и если это так, добавьте его к $value
.
http://www.php.net/manual/en/function.parse-str.php#76792 – Wrikken