Skip to content

PHP null-safe operator ?-> with null coalescing for safe property chains

PHP Dasun Kalupahana 87 views

<?php

class Address { public function __construct(public ?string $city = null) {} }
class User { public function __construct(public ?Address $address = null) {} }

$users = [new User(new Address('Paris')), new User(), null];

foreach ($users as $u) {
    echo $u?->address?->city ?? 'Unknown', PHP_EOL;
}
// Paris
// Unknown
// Unknown

?-> stops the whole chain and returns null when any link is null, so you don’t need nested if checks. Add ?? for a default value. Needs PHP 8.0+.

Learn more on the blog

Get new articles in your inbox

Practical tutorials and deep dives, about once a week. No spam, unsubscribe anytime.

Privacy policy

Add DEV Talk to your Home Screen

  1. 1 Tap the Share button in Safari's toolbar.
  2. 2 Scroll down and tap Add to Home Screen.
  3. 3 Tap Add. Open it from the Home Screen to read like an app and to turn on notifications with the bell.

We use cookies to improve your experience and analyze traffic. By continuing, you agree to our Privacy Policy.