0

我有两个数组,我将数组发布在一个输入中;

<input name='sistem[]' type='hidden' value='$items[$count]|$staff[$z]' />  
   // $count and $z are index

发布后,如何再次将它们提取到两个单独的数组中?

4

4 回答 4

2

两件事:如果它实际上只是一个隐藏的输入字段,为什么不在代码中将其分成两个字段?或者,更好的是,将其存储在会话中,这样恶意用户就不可能在向 Web 服务器提交请求时更改字段上的值?

但是直接回答这个问题:

$parts = explode('|', $_REQUEST['sistem'][0]);

于 2012-06-21T08:13:26.023 回答
1
foreach ($_POST['sistem'] as $key => $value)
{
   $tmp = explode("|", $value);
   $items[$key] = $tmp[0];
   $staff[$key] = $tmp[1];
}
于 2012-06-21T08:13:33.687 回答
0

我不确定它是最好的解决方案,但一种解决方案可能是为您的值添加前缀

于 2012-06-21T08:13:23.343 回答
0

像这样?

$items=new Array();
$staff=new Array();
foreach($_POST['sistem'] as $item){
    $itemSplit=explode('|',$item);
    $items[]=$itemSplit[0];
    $staff[]=$itemSplit[1];
}
于 2012-06-21T08:13:27.100 回答