我有5个这样的数组
print_r($_POST['ponumber']);
print_r($_POST['man_part_number']);
print_r($_POST['model']);
print_r($_POST['damaged']);
print_r($_POST['serial_number']);
print_r($_POST['skid']);它会产生
Array
(
[0] => 111111
[1] => 111111
[2] => 111111
[3] => 111111
)
Array
(
[0] => 11C2555
[1] => 11C2555
[2] => 11C2555
[3] => 11C2555
)
Array
(
[0] => FORMS PRINTER 2500 SERIES
[1] => FORMS PRINTER 2500 SERIES
[2] => FORMS PRINTER 2500 SERIES
[3] => FORMS PRINTER 2500 SERIES
)
Array
(
[0] => 0
[1] => 0
[2] => 0
[3] => 0
)
Array
(
[0] => CNCQ202070
[1] => CNCQ210800
[2] => MY5203B1KQ
[3] => CN1863Q0PQ
)
Array
(
[0] => 1
[1] => 1
[2] => 1
[3] => 1
)我需要基于键将它们组合在一起,这样我总共可以得到4个数组,如下所示
Array
(
[0] => 111111
[1] => 11C2555
[2] => FORMS PRINTER 2500 SERIES
[3] => 0
[4] => CNCQ202070
)以此类推。
它需要匹配每个数组中的每个键,并将它们组合到一个数组中。我尝试过array_combine和array_merge,但我不认为这是正确的方法。有没有人?
发布于 2013-01-09 11:27:49
$items = array();
for($x = 0; $x < count($_POST['ponumber']); $x++){
$item = array($_POST['ponumber']);
$item[] = $_POST['ponumber'][$x];
$item[] = $_POST['man_part_number'][$x];
$item[] = $_POST['model'][$x];
$item[] = $_POST['damaged'][$x];
$item[] = $_POST['serial_number'][$x];
$item[] = $_POST['skid'][$x];
$items[] = $item;
}将给出您需要的数组的数组。请注意,这假设所有数组的大小都相同。如果不是这样,您可能需要添加一些检查。
发布于 2013-01-09 11:21:44
您是否尝试过使用嵌套的foreach循环来创建五个新的数组?
诚然,它是冗长而乏味的,但如果你急着需要它,它可能是一个开始?
发布于 2013-01-09 11:40:45
您可以使用以下命令:
$counter = 0;
$temp = array();
if(isset($_POST)){ // check if $_POST isset.
foreach($_POST as $key=>$myarr)
{
foreach($myarr as $k=>$value)
{
$temp[$counter] = $value;
break;
}
$counter++;
}
}要检出,您可以执行以下操作:
var_dump($temp);希望我能帮上忙
https://stackoverflow.com/questions/14227766
复制相似问题