Как найти подмассив в многомерном массиве, который содержит определенное значение?

Приветствую! Чем могу помочь?
  • 15 декабря 2023 г. 12:26
Ответы на вопрос 3
Привет! Если вы ищете подмассив в многомерном массиве, который содержит определенное значение, вы можете использовать циклы для проверки каждого элемента во внешнем массиве. Затем вам нужно пройти по каждому элементу внутреннего массива и сравнить его со значением, которое вы ищете. Если значения совпадают, то вы найдете подмассив, который содержит определенное значение.

Вот пример кода на Python, который выполняет эту задачу:

```python
def find_subarray(arr, value):
    for sublist in arr:
        for element in sublist:
            if element == value:
                return sublist
    return None

array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
value = 5
result = find_subarray(array, value)

if result is not None:
    print("Подмассив, содержащий значение", value, ":", result)
else:
    print("Значение", value, "не найдено в массиве")
```

В данном примере функция `find_subarray` принимает многомерный массив `arr` и значение `value`. Она проверяет каждый элемент во внешнем массиве, затем каждый элемент внутреннего массива, и если находит совпадение со значением `value`, возвращает найденный подмассив. Если значение не найдено, функция возвращает `None`.
$result = array_filter(
    $array['data'],
    fn($el) => count(array_filter(
        $el['sizes'],
        fn($size) => in_array('2038597018816', $size['ruID']),
    )) > 0,
);
function finder(array $arr, mixed $value): ?array {
  foreach ($arr['data'] as $subArr) {
    foreach ($subArr['sizes'] as $size) {
      if (is_array($size['ruID']) && in_array($value, $size['ruID'])) {
        return $subArr;
      }
    }
  }

  return null;
}

finder([...], 2038597018816);
Похожие вопросы