K. B.
K. B.

Reputation: 1430

Need to merge arrays but leave only one value if duplicated

I have two arrays with the same keys but different values. I need to merge it but if the values are the same leave only one of this

$array1 = array('firstname'=> $may_name, 'lastname'=>$my_last_name, 'address'=>$addres_1);

$array2 = array('firstname'=> $may_name, 'lastname'=>$my_last_name, 'address'=>$addres_2);

I need to get:

$array_result = array('firstname'=> $may_name, 'lastname'=>$my_last_name, 'address'=>$addres_1, 'address'=>$addres_2);

can anybody help to solve this? array_merge does not work for me..

Upvotes: 0

Views: 43

Answers (1)

Shobi
Shobi

Reputation: 11451

First you need to merge 2 arrays, using array_merge() function. then get the unique elements from the array using array_unique() function will get you the result

var_dump(array_unique(array_merge($array1, $array2)));

Edit

If the input arrays have the same string keys, then the later value for that key will overwrite the previous one. If, however, the arrays contain numeric keys, the later value will not overwrite the original value, but will be appended. php doc

Thanks @Marco

Upvotes: 1

Related Questions