Arquivos
hhvm/hphp/test/vm/weird-isset-empty.php
T
Jordan Delong 363d1bb20f Code move src/ -> hphp/
This change is mostly for FB internal organizational reasons.
Building is not effected beyond the fact that the target now
lands in hphp/hhvm/hhvm rather than src/hhvm/hhvm.
2013-02-11 02:10:41 -08:00

134 linhas
3.0 KiB
PHP

<?php
$x = array("a","b","c");
$y = 0;
var_dump(isset($x[$y]));
var_dump(empty($x[$y]));
var_dump(isset($x->$y));
var_dump(empty($x->$y));
var_dump($x);
$x = array("a","b","c");
$y = "0";
var_dump(isset($x[$y]));
var_dump(empty($x[$y]));
var_dump(isset($x->$y));
var_dump(empty($x->$y));
var_dump($x);
echo "**************************\n";
$x = array(null);
$y = 0;
var_dump(isset($x[$y]));
var_dump(empty($x[$y]));
var_dump(isset($x->$y));
var_dump(empty($x->$y));
var_dump($x);
$x = array(null);
$y = "0";
var_dump(isset($x[$y]));
var_dump(empty($x[$y]));
var_dump(isset($x->$y));
var_dump(empty($x->$y));
var_dump($x);
echo "**************************\n";
$x = "abc";
$y = 0;
var_dump(isset($x[$y]));
var_dump(empty($x[$y]));
var_dump(isset($x->$y));
var_dump(empty($x->$y));
var_dump($x);
$x = "abc";
$y = "0";
var_dump(isset($x[$y]));
var_dump(empty($x[$y]));
var_dump(isset($x->$y));
var_dump(empty($x->$y));
var_dump($x);
echo "**************************\n";
$abc = array('foo' => array('bar' => 'baz'));
$abc2 =& $abc;
var_dump(isset($abc['foo']));
var_dump(empty($abc['foo']));
var_dump(isset($abc->foo));
var_dump(empty($abc->foo));
var_dump(isset($abc['foo']['bar']));
var_dump(empty($abc['foo']['bar']));
var_dump(isset($abc['foo']->bar));
var_dump(empty($abc['foo']->bar));
var_dump(isset($abc->foo['bar']));
var_dump(empty($abc->foo['bar']));
var_dump(isset($abc->foo->bar));
var_dump(empty($abc->foo->bar));
echo "**************************\n";
$abc = new stdclass;
$abc->foo = array('bar' => 'baz');
var_dump(isset($abc->foo));
var_dump(empty($abc->foo));
var_dump(isset($abc->foo['bar']));
var_dump(empty($abc->foo['bar']));
var_dump(isset($abc->foo->bar));
var_dump(empty($abc->foo->bar));
unset($abc);
echo "**************************\n";
$abc = new stdclass;
$abc2 =& $abc; // make $abc a Var
$abc->foo = array('bar' => 'baz');
var_dump(isset($abc->foo));
var_dump(empty($abc->foo));
var_dump(isset($abc->foo['bar']));
var_dump(empty($abc->foo['bar']));
var_dump(isset($abc->foo->bar));
var_dump(empty($abc->foo->bar));
unset($abc);
unset($abc2);
echo "**************************\n";
$abc = array('foo' => new stdclass);
$abc['foo']->bar = 'baz';
var_dump(isset($abc['foo']));
var_dump(empty($abc['foo']));
var_dump(isset($abc->foo));
var_dump(empty($abc->foo));
var_dump(isset($abc['foo']->bar));
var_dump(empty($abc['foo']->bar));
var_dump(isset($abc->foo['bar']));
var_dump(empty($abc->foo['bar']));
var_dump(isset($abc->foo->bar));
var_dump(empty($abc->foo->bar));
unset($abc);
echo "**************************\n";
$abc = array('foo' => new stdclass);
$abc2 =& $abc; // make $abc a Var
$abc['foo']->bar = 'baz';
var_dump(isset($abc['foo']));
var_dump(empty($abc['foo']));
var_dump(isset($abc->foo));
var_dump(empty($abc->foo));
var_dump(isset($abc['foo']->bar));
var_dump(empty($abc['foo']->bar));
var_dump(isset($abc->foo['bar']));
var_dump(empty($abc->foo['bar']));
var_dump(isset($abc->foo->bar));
var_dump(empty($abc->foo->bar));
unset($abc);
unset($abc2);
echo "**************************\n";