首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于键将5个数组与php组合

基于键将5个数组与php组合
EN

Stack Overflow用户
提问于 2013-01-09 11:18:03
回答 4查看 134关注 0票数 2

我有5个这样的数组

代码语言:javascript
复制
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']);

它会产生

代码语言:javascript
复制
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个数组,如下所示

代码语言:javascript
复制
Array
(
    [0] => 111111
    [1] => 11C2555
    [2] => FORMS PRINTER 2500 SERIES
    [3] => 0
    [4] => CNCQ202070
 )

以此类推。

它需要匹配每个数组中的每个键,并将它们组合到一个数组中。我尝试过array_combine和array_merge,但我不认为这是正确的方法。有没有人?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-01-09 11:27:49

代码语言:javascript
复制
$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;
}

将给出您需要的数组的数组。请注意,这假设所有数组的大小都相同。如果不是这样,您可能需要添加一些检查。

票数 4
EN

Stack Overflow用户

发布于 2013-01-09 11:21:44

您是否尝试过使用嵌套的foreach循环来创建五个新的数组?

诚然,它是冗长而乏味的,但如果你急着需要它,它可能是一个开始?

票数 1
EN

Stack Overflow用户

发布于 2013-01-09 11:40:45

您可以使用以下命令:

代码语言:javascript
复制
$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++;
    }
    }

要检出,您可以执行以下操作:

代码语言:javascript
复制
var_dump($temp);

希望我能帮上忙

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14227766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档