Как сделать поиск в многомерном массиве по ключу?

Для того чтобы выполнить поиск в многомерном массиве по ключу в PHP, можно использовать рекурсивную функцию. Рекурсия позволяет нам обходить все уровни вложенности массива, пока не найдем ключ, который мы ищем.

Вот пример простой функции, которая выполняет поиск в многомерном массиве:

function searchKey($array, $key) {
    // Проверяем, что входной параметр - массив
    if (!is_array($array)) {
        return null;
    }

    // Проверяем, есть ли ключ в текущем уровне массива
    if (array_key_exists($key, $array)) {
        return $array[$key];
    }

    // Рекурсивно выполняем поиск в каждом элементе массива
    foreach ($array as $value) {
        // Если элемент массива является массивом, рекурсивно выполняем поиск в нем
        $result = searchKey($value, $key);
        
        // Если нашли ключ, возвращаем его значение
        if ($result !== null) {
            return $result;
        }
    }

    // Если ключ не найден, возвращаем null
    return null;
}

Для выполнения поиска в многомерном массиве по ключу, нужно вызвать эту функцию, передав ей сам массив и ключ, который мы ищем. Например:

$arr = array(
    'a' => array('b' => array('c' => 1)),
    'd' => array('e' => array('f' => 2))
);

$result = searchKey($arr, 'c');
echo $result; // Выведет 1

В данном примере, функция searchKey выполняет поиск в многомерном массиве $arr по ключу 'c'. Она обходит все уровни вложенности массива и возвращает значение, связанное с найденным ключом.

Таким образом, рекурсивная функция позволяет легко и эффективно выполнить поиск в многомерном массиве по ключу в PHP, обеспечивая гибкость и удобство использования.