PHP combine two associative arrays with different keys

I want to combine two associative arrays with different amount of keys and keep all the keys in the final array even if they are null or empty

I have tried array_merge but the keys that are not present in both arrays are removed.

Here are the two arrays:

$array1 = array(
    array("email" => "user1@mail", "login" => "user1", "phone" => "123", "color" => "red"),
    array("email" => "user2@mail", "login" => "user2", "phone" => "456", "color" => "blue"),
);

$array2 = array(
    array("email" => "user3@mail", "login" => "user3"),
    array("email" => "user4@mail", "login" => "user4"),
);

And this is what I want to get:

$arrayMerge = array(
    array("email" => "user1@mail", "login" => "user1", "phone" => "123", "color" => "red"),
    array("email" => "user2@mail", "login" => "user2", "phone" => "456", "color" => "blue"),
    array("email" => "user3@mail", "login" => "user3", "phone" => NULL, "color" => NULL),
    array("email" => "user4@mail", "login" => "user4", "phone" => NULL, "color" => NULL),
);

The value NULL could also be empty, all I want is to keep the key.