What are some common pitfalls when trying to extract specific values from JSON responses in PHP?

One common pitfall when extracting specific values from JSON responses in PHP is not properly handling nested data structures. To avoid this, you can recursively traverse the JSON object to access the desired values. Additionally, failing to check if the key exists before accessing it can result in errors.

// Sample JSON response
$jsonResponse = '{"name": "John Doe", "age": 30, "address": {"city": "New York", "zipcode": "10001"}}';

// Decode the JSON response
$data = json_decode($jsonResponse, true);

// Function to recursively traverse the JSON object
function getValueFromJson($data, $key) {
    foreach($data as $k => $v) {
        if($k === $key) {
            return $v;
        }
        if(is_array($v)) {
            $result = getValueFromJson($v, $key);
            if($result !== null) {
                return $result;
            }
        }
    }
    return null;
}

// Get specific value from JSON response
$city = getValueFromJson($data, 'city');
if($city !== null) {
    echo "City: " . $city;
} else {
    echo "City not found";
}