--- /dev/null
+--TEST--
+Testing isset and unset with variable variables
+--FILE--
+<?php
+
+print "- isset ---\n";
+
+$var_name = 'unexisting';
+
+if (isset($$var_name)) {
+ print "error\n";
+}
+
+$test = 'var_name';
+
+if (isset($$$test)) {
+ print "error\n";
+}
+
+print "- unset ---\n";
+
+unset($$var_name);
+
+unset($$$test);
+
+print "done\n";
+
+?>
+--EXPECT--
+- isset ---
+- unset ---
+done
--- /dev/null
+--TEST--
+Testing isset with several undefined variables as argument
+--FILE--
+<?php
+
+var_dump(isset($a, ${$b}, $$c, $$$$d, $e[$f->g]->d));
+
+?>
+--EXPECT--
+bool(false)
--- /dev/null
+--TEST--
+Testing isset accessing undefined array itens and properties
+--FILE--
+<?php
+
+$a = 'foo';
+$b =& $a;
+
+var_dump(isset($b));
+
+var_dump(isset($a[0], $b[1]));
+
+var_dump(isset($a[0]->a));
+
+var_dump(isset($c[0][1][2]->a->b->c->d));
+
+var_dump(isset(${$a}->{$b->$c[$d]}));
+
+var_dump(isset($GLOBALS));
+
+var_dump(isset($GLOBALS[1]));
+
+var_dump(isset($GLOBALS[1]->$GLOBALS));
+
+?>
+--EXPECT--
+bool(true)
+bool(true)
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+bool(false)
+bool(false)