What is the best way to read values from an array in PHP, especially when dealing with nested arrays?

When dealing with nested arrays in PHP, the best way to read values is to use a recursive function that can handle multiple levels of nesting. This function can check if a key exists in the current level of the array, and if it does, return the value. If the key is found in a nested array, the function can call itself recursively to search deeper levels until the value is found.

function getValueFromNestedArray($array, $key) {
    foreach ($array as $k => $value) {
        if ($k === $key) {
            return $value;
        }
        if (is_array($value)) {
            $result = getValueFromNestedArray($value, $key);
            if ($result !== null) {
                return $result;
            }
        }
    }
    return null;
}

// Example usage
$array = [
    'key1' => 'value1',
    'key2' => [
        'key3' => 'value3',
        'key4' => [
            'key5' => 'value5'
        ]
    ]
];

echo getValueFromNestedArray($array, 'key5'); // Output: value5