3v4l.org

run code in 500+ PHP versions simultaneously
<?php class Model { public function __isset($name) { return $name === 'foo'; } } $model = new Model(); $fooDefined = isset($model->foo); // true var_dump($fooDefined); $fooDefined = property_exists($model, 'foo') && $model->foo !== null; var_dump($fooDefined);
Output for 8.0.30, 8.1.34, 8.2.29 - 8.2.30, 8.3.5 - 8.3.30, 8.4.8 - 8.4.21, 8.5.0 - 8.5.6
bool(true) bool(false)

preferences:
45.34 ms | 620 KiB | 4 Q