Есть такой массив
[
0 => [
'user_id' => '2'
]
1 => [
'user_id' => '4'
]
2 => [
'user_id' => '2'
]
3 => [
'user_id' => '8'
]
4 => [
'user_id' => '5'
]
5 => [
'user_id' => '4'
]
6 => [
'user_id' => '2'
]
7 => [
'user_id' => '2'
]
8 => [
'user_id' => '4'
]
9 => [
'user_id' => '6'
]
10 => [
'user_id' => '1'
]
11 => [
'user_id' => '3'
]
12 => [
'user_id' => '8'
]
13 => [
'user_id' => '7'
]
14 => [
'user_id' => '5'
]
15 => [
'user_id' => '5'
]
16 => [
'user_id' => '8'
]
17 => [
'user_id' => '5'
]
]
из этого массива мне надо получить три значения user_id,
1. Первый получаю легко, это первое значение
0 => [
'user_id' => '2'
]
2. Второе береться из второго и третьего значения, но он не может быть user_id из первого значения. В нашем случае нам нужен
1 => [
'user_id' => '4'
]
(так совпало что это и в массиве второе значение, но он мог быть и третьим)
3. и третье береться с другого конца массива, из трех последних значений
15 => [
'user_id' => '5'
]
16 => [
'user_id' => '8'
]
17 => [
'user_id' => '5'
]
нам нужно то значение которое повторяется, то есть user_id=5
Есть какое-нибудь здравое решение этого вопроса?