mirror of
https://github.com/php/php-src.git
synced 2024-11-28 04:14:26 +08:00
39 lines
606 B
Plaintext
39 lines
606 B
Plaintext
|
--TEST--
|
||
|
Bug #44899 (__isset usage changes behavior of empty())
|
||
|
--FILE--
|
||
|
<?php
|
||
|
|
||
|
class myclass
|
||
|
{
|
||
|
private $_data = array();
|
||
|
|
||
|
function __construct($data)
|
||
|
{
|
||
|
$this->_data = $data;
|
||
|
}
|
||
|
|
||
|
function __isset($field_name)
|
||
|
{
|
||
|
return isset($this->_data[$field_name]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$arr = array('foo' => '');
|
||
|
|
||
|
$myclass = new myclass($arr) ;
|
||
|
|
||
|
echo (isset($myclass->foo)) ? 'isset' : 'not isset';
|
||
|
echo "\n";
|
||
|
echo (empty($myclass->foo)) ? 'empty' : 'not empty';
|
||
|
echo "\n";
|
||
|
echo ($myclass->foo) ? 'not empty' : 'empty';
|
||
|
echo "\n";
|
||
|
|
||
|
?>
|
||
|
--EXPECTF--
|
||
|
isset
|
||
|
empty
|
||
|
|
||
|
Notice: Undefined property: myclass::$foo in %s on line %d
|
||
|
empty
|