How to group values of arrays that have the same index value

0

I have the following array:

[0] => Array
   (
        [Contrato] => 0122PS0001251477
        [0] => 1
    )

[1] => Array
    (
        [Rut] => 8035133
        [0] => 1
    )

[2] => Array
    (
        [Nombre] => LUIS JAIME GUERRERO GUERRERO
        [0] => 1
    )

[3] => Array
    (
        [Contrato] => 0122PS0001251477
        [0] => 2
    )

[4] => Array
    (
        [Rut] => 11847294
        [0] => 2
    )

[5] => Array
    (
        [Nombre] => SANDRA ESTHER AREVALO YEVENES
        [0] => 2
    )

And I would like to have some idea of how to group them this way:

[0] => Array
    (
       [Contrato] => 0122PS0001251477 
       [Rut] => 8035133
       [Nombre] => LUIS JAIME GUERRERO GUERRERO
       [0] => 1
    )

Thank you.

    
asked by Marcelo Nuñez 20.08.2018 в 17:07
source

1 answer

0

You can do it like this:

<?php
$data = Array(0 => Array
   (
        'Contrato' => '0122PS0001251477',
        0 => 1
    ),    
1 => Array
    (
        'Rut' => 8035133,
        0 => 1
    ),    
2 => Array
    (
        'Nombre' => 'LUIS JAIME GUERRERO GUERRERO',
        0 => 1
    ),    
3 => Array
    (
        'Contrato' => '0122PS0001251477',
        0 => 2
    ),    
4 => Array
    (
       'Rut' => 11847294,
        0 => 2
    ),    
5 => Array
    (
        'Nombre' => 'SANDRA ESTHER AREVALO YEVENES',
        0 => 2
    )
);
$datos = Array();
$newDato = Array();
$j = 1;
foreach ($data as $i => $dato) {
    if($dato[0] == $j) {
        foreach($dato as $key => $value) {
            $newDato[$key] = $value;
        }
    } else {
        $j++;
        $datos[] = $newDato;
        $newDato = Array();
        foreach($dato as $key => $value) {
            $newDato[$key] = $value;
        }
    }
}
$datos[] = $newDato;
var_dump($datos);
?>
    
answered by 20.08.2018 в 17:43