-1

How can I get unique months from two arrays? I have two arrays:

$ar1 =Array
(
[0] => Array
    (
        [0] => 1
        [month] => 1
        [1] => -40964.49999999999
        [total] => -40964.49999999999
    )

[1] => Array
    (
        [0] => 2
        [month] => 2
        [1] => -41353.93
        [total] => -41353.93
    )

[2] => Array
    (
        [0] => 3
        [month] => 3
        [1] => -32716.35
        [total] => -32716.35
    )

[3] => Array
    (
        [0] => 4
        [month] => 4
        [1] => -30399.059999999998
        [total] => -30399.059999999998
    )

[4] => Array
    (
        [0] => 5
        [month] => 5
        [1] => -33781.689999999995
        [total] => -33781.689999999995
    )

[5] => Array
    (
        [0] => 6
        [month] => 6
        [1] => -26129.219999999994
        [total] => -26129.219999999994
    )

[6] => Array
    (
        [0] => 7
        [month] => 7
        [1] => -40643.990000000005
        [total] => -40643.990000000005
    )

[7] => Array
    (
        [0] => 8
        [month] => 8
        [1] => -63260.61
        [total] => -63260.61
    )

)
$ar2 = Array
(
[0] => Array
    (
        [0] => 1
        [month] => 1
        [1] => 40616.1
        [total] => 40616.1
    )

[1] => Array
    (
        [0] => 2
        [month] => 2
        [1] => 39640.659999999996
        [total] => 39640.659999999996
    )

[2] => Array
    (
        [0] => 3
        [month] => 3
        [1] => 34639.73
        [total] => 34639.73
    )

[3] => Array
    (
        [0] => 4
        [month] => 4
        [1] => 37337.62
        [total] => 37337.62
    )

[4] => Array
    (
        [0] => 5
        [month] => 5
        [1] => 35776.98000000001
        [total] => 35776.98000000001
    )

[5] => Array
    (
        [0] => 6
        [month] => 6
        [1] => 35001.97
        [total] => 35001.97
    )

[6] => Array
    (
        [0] => 7
        [month] => 7
        [1] => 32456.749999999996
        [total] => 32456.749999999996
    )

[7] => Array
    (
        [0] => 8
        [month] => 8
        [1] => 41992.56999999999
        [total] => 41992.56999999999
    )

[8] => Array
    (
        [0] => 9
        [month] => 9
        [1] => 238.18
        [total] => 238.18
    )

[9] => Array
    (
        [0] => 10
        [month] => 10
        [1] => 238.22
        [total] => 238.22
    )

)

How can I get unique month from two arrays?

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Milan Parekh
  • 163
  • 1
  • 11

2 Answers2

1

You can try the function array_unique() after storing all months from both arrays to a single array:

$arr_tmp = [];
$res = [];
foreach($ar1 as $a1) {
    $arr_tmp[] = $a1['month'];
}
foreach($ar2 as $a2 {
    $arr_tmp[] = $a2['month'];
}
$res = array_unique($arr_tmp);
Rax Weber
  • 3,730
  • 19
  • 30
0

Use array_diff, but since your array is multidimensional you'll need array_udiff where you provide the comparison function .

See the answer below for an example

https://stackoverflow.com/a/11822305

Community
  • 1
  • 1
M.Alnashmi
  • 582
  • 1
  • 4
  • 15