What are the best practices for structuring and accessing values in nested arrays in PHP to improve code readability and efficiency?

When dealing with nested arrays in PHP, it is important to use clear and concise syntax to access values for better code readability. One way to improve efficiency is by using the null coalescing operator (??) to handle cases where a key may not exist in a nested array. Additionally, using foreach loops or array_map function can help iterate through nested arrays effectively.

// Example of accessing values in nested arrays using the null coalescing operator and foreach loop

$data = [
    'user' => [
        'name' => 'John Doe',
        'email' => 'john@example.com',
        'address' => [
            'street' => '123 Main St',
            'city' => 'New York'
        ]
    ]
];

// Using the null coalescing operator to access nested values
$city = $data['user']['address']['city'] ?? 'Unknown';

echo "User city: " . $city . "\n";

// Using foreach loop to iterate through nested arrays
foreach ($data as $key => $value) {
    if (is_array($value)) {
        foreach ($value as $subKey => $subValue) {
            echo "$subKey: $subValue\n";
        }
    } else {
        echo "$key: $value\n";
    }
}