<?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) );
?>