我想弄清楚如何处理可能重复的数组键。
我有一个带有选择下拉列表的表单,可以选择多个选项(超过 1 个)。我正在使用 jQuery.serialize()
在提交时序列化表单。
多选元素的序列化字符串如下所示:
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;
}
好的,这一切都适用于其余的表单元素,但是当涉及到选择元素时,它只会选择最后选择的键/值对。所以我的数组现在看起来像这样:
Array ( [select_element] => 3)
我需要的是让它看起来像:
Array ( [select_element] => '1,2,3')
所以我想我要问的是基于我的代码,我如何检查一个键是否已经存在,如果存在,附加到 $value
。
最佳答案
如果可以修改客户端代码,我宁愿把select
的名字改成select[]
,这样会被解析为数组在你的服务器脚本中。
关于php - 如何处理可能重复的数组键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8864970/