0

I have an array POST that looks like this

Array
(
[ponumber] => 111111
[man_part_number] => Array
    (
        [0] => 11C2555
        [1] => 11C2555
        [2] => 11C2555
        [3] => 11C2555
    )

[model] => Array
    (
        [0] => FORMS PRINTER 2500 SERIES
        [1] => FORMS PRINTER 2500 SERIES
        [2] => FORMS PRINTER 2500 SERIES
        [3] => FORMS PRINTER 2500 SERIES
    )

[damaged] => Array
    (
        [0] => 0
        [1] => 0
        [2] => 0
        [3] => 0
    )

[serial_number] => Array
    (
        [0] => CNCQ202070
        [1] => CNCQ210800
        [2] => MY5203B1KQ
        [3] => CN1863Q0PQ
    )

[skid] => Array
    (
        [0] => 1
        [1] => 2
        [2] => 3
        [3] => 4
    )

[submit] => Attach this serial number list to PO#111111
)

I need the array to be combined into

Array
(
[man_part_number] => Array
    (
        [0] = > 11C2555
    )
[model] => Array
    (
        [0] => FORMS PRINTER 2500 SERIES
    )
[damaged] => Array
    (
        [0] => 0
    )
[serial_number] => Array
    (
        [0] => CNCQ202070
    )
[skid] => Array
    (
        [0] => 1
    )
[ponumber] => Array
    (
        [0] => 111111
    }
}

and so on so that all the [0] are combined [1],[2] and [3] as well, but the ponumber needs to added to each array as well and will be the same for all 4.

Cesar Bielich
  • 4,754
  • 9
  • 39
  • 81
  • The result isn't a single array but, again, another multidimensional.... – DonCallisto Jan 08 '13 at 08:31
  • See [Is there a better way to transpose a PHP 2D array?](http://stackoverflow.com/questions/3460022/is-there-better-way-to-transpose-a-php-2d-array) – John Dvorak Jan 08 '13 at 08:32
  • I was trying foreach (array_combine($man_part_number, $model, $damaged, $serial_number, $skid) as $thisman_part_number => $thismodel => $thisdamaged => $serialnumber => $thisskid) { – Cesar Bielich Jan 08 '13 at 08:32

2 Answers2

0
$array = array_map('current', $array[0]);
soniccool
  • 5,790
  • 22
  • 60
  • 98
0

You can use MultipleIterator

$mi = new MultipleIterator(MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_ASSOC);
$mi->attachIterator(new ArrayIterator($data['man_part_number']),"man_part_number");
$mi->attachIterator(new ArrayIterator($data['model']),"model");
$mi->attachIterator(new ArrayIterator($data['damaged']),"damaged");
$mi->attachIterator(new ArrayIterator($data['serial_number']),"serial_number");
$mi->attachIterator(new ArrayIterator($data['skid']),"skid");

echo "<pre>";
foreach ($mi as $member) {
    print_r($member);
}

Output

Array
(
    [man_part_number] => 11C2555
    [model] => FORMS PRINTER 2500 SERIES
    [damaged] => 0
    [serial_number] => CNCQ202070
    [skid] => 1
)
Array
(
    [man_part_number] => 11C2555
    [model] => FORMS PRINTER 2500 SERIES
    [damaged] => 0
    [serial_number] => CNCQ210800
    [skid] => 2
)
Array
(
    [man_part_number] => 11C2555
    [model] => FORMS PRINTER 2500 SERIES
    [damaged] => 0
    [serial_number] => MY5203B1KQ
    [skid] => 3
)
Array
(
    [man_part_number] => 11C2555
    [model] => FORMS PRINTER 2500 SERIES
    [damaged] => 0
    [serial_number] => CN1863Q0PQ
    [skid] => 4
)

See Live Demo

Baba
  • 94,024
  • 28
  • 166
  • 217