How can recursion be utilized in PHP to iterate through multidimensional arrays and access all levels of data without hardcoding specific paths?

When dealing with multidimensional arrays in PHP, recursion can be used to iterate through all levels of data without hardcoding specific paths. By creating a recursive function that checks if a value is an array, the function can call itself to iterate through nested arrays until reaching the desired data. This approach allows for dynamic traversal of multidimensional arrays without the need to know the exact structure beforehand.

function iterateMultidimensionalArray($array) {
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            iterateMultidimensionalArray($value);
        } else {
            echo "Key: " . $key . ", Value: " . $value . "\n";
        }
    }
}

// Example usage
$nestedArray = [
    'key1' => 'value1',
    'key2' => [
        'subkey1' => 'subvalue1',
        'subkey2' => 'subvalue2'
    ]
];

iterateMultidimensionalArray($nestedArray);