我有两个数组,我将数组发布在一个输入中;
<input name='sistem[]' type='hidden' value='$items[$count]|$staff[$z]' />
// $count and $z are index
发布后,如何再次将它们提取到两个单独的数组中?
两件事:如果它实际上只是一个隐藏的输入字段,为什么不在代码中将其分成两个字段?或者,更好的是,将其存储在会话中,这样恶意用户就不可能在向 Web 服务器提交请求时更改字段上的值?
但是直接回答这个问题:
$parts = explode('|', $_REQUEST['sistem'][0]);
foreach ($_POST['sistem'] as $key => $value)
{
$tmp = explode("|", $value);
$items[$key] = $tmp[0];
$staff[$key] = $tmp[1];
}
我不确定它是最好的解决方案,但一种解决方案可能是为您的值添加前缀
像这样?
$items=new Array();
$staff=new Array();
foreach($_POST['sistem'] as $item){
$itemSplit=explode('|',$item);
$items[]=$itemSplit[0];
$staff[]=$itemSplit[1];
}