[ create a new paste ] login | about

Link: http://codepad.org/1d19ENXM    [ raw code | output | fork ]

PHP, pasted on Feb 12:
<?php
$tab1 = Array(
    Array(1, 'login', 1.4),
    Array(2, 'login2', 1.2),
    Array(3, 'trif', 30.2),
    Array(4, 'wojtek', 1),
);
$tab2 = Array(
    Array(3, 'trif', 134),
    Array(1, 'login', 0),
    Array(2, 'login2', 0),
    Array(4, 'wojtek', 0),
);
$tab3 = Array(
    Array(3, 'trif', 3),
    Array(1, 'login', 2),
    Array(2, 'login2', 1),
    Array(4, 'wojtek', 0),
);
	
function merge( ) {
 
   $args = func_get_args();
   $out  = Array();
 
	foreach( $args as $array ) {
            foreach( $array as $elem ) {
		if( array_key_exists( $elem[0], $out) )
		{
                        $n = count($elem);
                        for( $i=1; $i<$n;++$i)
			    $out[ $elem[0] ][] = $elem[$i];
		}
		else
		{
			$out[ $elem[0] ] = $elem;
		}
            }
      
	}
 
   return $out;
 
}

print_r( merge($tab1, $tab2, $tab3) );
?>


Output:
Array
(
    [1] => Array
        (
            [0] => 1
            [1] => login
            [2] => 1.4
            [3] => login
            [4] => 0
            [5] => login
            [6] => 2
        )

    [2] => Array
        (
            [0] => 2
            [1] => login2
            [2] => 1.2
            [3] => login2
            [4] => 0
            [5] => login2
            [6] => 1
        )

    [3] => Array
        (
            [0] => 3
            [1] => trif
            [2] => 30.2
            [3] => trif
            [4] => 134
            [5] => trif
            [6] => 3
        )

    [4] => Array
        (
            [0] => 4
            [1] => wojtek
            [2] => 1
            [3] => wojtek
            [4] => 0
            [5] => wojtek
            [6] => 0
        )

)


Create a new paste based on this one


Comments: