我的表格包含3个出生日期输入,如下所示:
<label>Date of Birth</label>
<input type='text' size='2' maxlength='2' name='DOB[2]' />
<input type='text' size='2' maxlength='2' name='DOB[3]' />
<input type='text' size='4' maxlength='4' name='DOB[1]' />
输入的顺序为month/day/year
。我发送这个到我的脚本,然后像这样内爆DOB数组(感谢@Matt H.):
if(isset($_userData['DOB']))
$_userData['DOB'] = implode('-', $_userData['DOB']);
现在,问题是,这会导致month/day/year
的格式不正确,这不是我设置的数组的顺序,而是输入的顺序。难道我不得不手动将数组连接到MySQL所需的格式(年/月/日)?
答案 0 :(得分:2)
首先对数组进行排序:
if(isset($_userData['DOB'])) {
ksort($_userData['DOB']);
$_userData['DOB'] = implode('-', $_userData['DOB']);
}
答案 1 :(得分:1)
尝试:
if(isset($_userData['DOB'])){
ksort($_userData['DOB']);
$_userData['DOB'] = implode('-', $_userData['DOB']);
}
这将按键对数组$_userData['DOB']
进行排序。根据您的输入元素,它将变为:
$_userData['DOB'] = array(
1 => 'YYYY',
2 => 'MM',
3 => 'DD'
);