开发者

PHP combining arrays

How can I combine both of these arra开发者_StackOverflow中文版ys and if there is duplicates of an array have only one represented using PHP.

Array
(
    [0] => 18
    [1] => 20
    [2] => 28
    [3] => 29
)

Array
(
    [0] => 1
    [1] => 8
    [2] => 19
    [3] => 22
    [4] => 25
    [5] => 28
    [6] => 30
)


It sounds like you need:

 array_unique(array_merge($first_array, $second_array));


Apply array_unique to the results of the array_merge function.

Example:

php > $f=array(1,2,3,4,5);
php > $r=array(4,5,6,7,8);
php > print_r(array_unique(array_merge($r,$f)));
Array
(
    [0] => 4
    [1] => 5
    [2] => 6
    [3] => 7
    [4] => 8
    [5] => 1
    [6] => 2
    [7] => 3
)


Just use the sum operator to merge the values of the two arrays, for instance:

$first = array(18, 20, 21, 28, 29);
$second = array(1, 8, 18, 19, 21, 22, 25, 28, 30); // Contains some elements of $first
$sum = $first + $second;

the resulting array shall contain the elements of both arrays, then you can filter out duplicates using array_unique $result = array_unique($sum);. At this point the resulting array will contain the elements of both arrays but just once:

Array
(
    [0] => 18
    [1] => 20
    [2] => 21
    [3] => 28
    [4] => 29
    [5] => 22
    [6] => 25
    [7] => 28
    [8] => 30
)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜