diff --git a/src/Php/CompilerBase.php b/src/Php/CompilerBase.php index 8477d176..28627aa7 100644 --- a/src/Php/CompilerBase.php +++ b/src/Php/CompilerBase.php @@ -3197,7 +3197,11 @@ class CompilerBase extends \PhpAot\Core\Translator { $vars = $expr->vars; if (count($vars) > 1) { - $this->fatalError($expr, 'Cannot check multiple variables with isset'); + $list = []; + foreach ($vars as $var) { + $list[] = $this->parseVarCheckExpr($var, 'isset'); + } + return '(' . implode(' && ', $list) . ')'; } return $this->parseVarCheckExpr($vars[0], 'isset'); } diff --git a/tests/aot/isset-002.phpt b/tests/aot/isset-002.phpt new file mode 100644 index 00000000..795367f1 --- /dev/null +++ b/tests/aot/isset-002.phpt @@ -0,0 +1,17 @@ +--TEST-- +isset 002 +--FILE-- + +--EXPECT-- +bool(true) +bool(false) +bool(true) +bool(false)