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.0 - 8.1.34, 8.2.0 - 8.2.34, 8.3.0 - 8.3.35, 8.4.1 - 8.4.26, 8.5.0 - 8.5.11
bool(true) bool(false)

preferences:
28.66 ms | 1152 KiB | 7 Q