Всем привет.
Помогите решить одну задачку с одним массивом данный, который получил через API.
Вот сам массив
$arr = [
0 => [
'ID' => 1,
'CODE' => 200,
'NUMBER' => 10001
'DATE' => '2020-03-01T11:00:00'
],
1 => [
'ID' => 2,
'CODE' => 300,
'NUMBER' => 10001
'DATE' => '2020-03-01T10:50:00'
],
2 => [
'ID' => 3,
'CODE' => 200,
'NUMBER' => 10002
'DATE' => '2020-03-01T10:45:00'
],
3 => [
'ID' => 4,
'CODE' => 300,
'NUMBER' => 10001
'DATE' => '2020-03-01T10:37:00'
],
4 => [
'ID' => 5,
'CODE' => 300,
'NUMBER' => 10002
'DATE' => '2020-03-01T10:35:00'
],
5 => [
'ID' => 6,
'CODE' => 300,
'NUMBER' => 10002
'DATE' => '2020-03-01T10:10:00'
],
6 => [
'ID' => 7,
'CODE' => 300,
'NUMBER' => 10003
'DATE' => '2020-03-01T10:00:00'
],
];
Мне нужно в результате получить массив, но с небольшими изменениями \ фильтрации
1. - удалить элементы из массива, с одинаковым значениям ключа NUMBER, но при этом, тот элемент который будет удален, должен иметь CODE => 300
РЕЗУЛЬТАТ должен быть таким
# были удалены 5/3
$arr = [
0 => [
'ID' => 1,
'CODE' => 200,
'NUMBER' => 10001
'DATE' => '2020-03-01T11:00:00'
],
1 => [
'ID' => 2,
'CODE' => 300,
'NUMBER' => 10001
'DATE' => '2020-03-01T10:50:00'
],
2 => [
'ID' => 3,
'CODE' => 200,
'NUMBER' => 10002
'DATE' => '2020-03-01T10:45:00'
],
4 => [
'ID' => 5,
'CODE' => 300,
'NUMBER' => 10002
'DATE' => '2020-03-01T10:35:00'
],
6 => [
'ID' => 7,
'CODE' => 300,
'NUMBER' => 10003
'DATE' => '2020-03-01T10:00:00'
],
];
После:
2. Найти все NUMBER с CODE => 300 и проверить если-ли такой-же NUMBER НО! уже с CODE => 200?
- если ДА - удалить их из массива
- если НЕТ - оставить только NUMBER с CODE => 300
# Вот что должно остаться
$arr = [
6 => [
'ID' => 7,
'CODE' => 300,
'NUMBER' => 10003
'DATE' => '2020-03-01T10:00:00'
],
];
Спасибо всем, кто уделит внимание вопросу.