Для перебора многомерного массива с учетом динамического промежуточного ключа в PHP можно воспользоваться рекурсивной функцией. Вот пример кода, демонстрирующий этот подход:
function findValueInNestedArray($array, $keys) { $currentKey = array_shift($keys); if (count($keys) === 0) { return $array[$currentKey]; } if (isset($array[$currentKey]) && is_array($array[$currentKey])) { return findValueInNestedArray($array[$currentKey], $keys); } return null; } // Пример использования функции $multidimensionalArray = [ 'first' => [ 'second' => [ 'third' => 'value' ] ] ]; $keys = ['first', 'second', 'third']; $result = findValueInNestedArray($multidimensionalArray, $keys); if ($result !== null) { echo "Значение: " . $result; } else { echo "Значение не найдено"; }
В этом примере функция findValueInNestedArray
принимает многомерный массив и массив ключей, по которым нужно пройтись для доступа к значению. Она рекурсивно проходит по массиву, используя каждый ключ до тех пор, пока они не будут исчерпаны. Если значение найдено, оно возвращается, иначе возвращается null
.
Этот подход позволяет избежать жесткой привязки к количеству уровней вложенности массива и поддерживает динамическую структуру ключей.