File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / Zend / tests / bug44899.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:47:52 2012 UTC (13 years, 1 month ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

    1: --TEST--
    2: Bug #44899 (__isset usage changes behavior of empty())
    3: --FILE--
    4: <?php
    5: 
    6: class myclass
    7: {
    8: 	private $_data = array();
    9: 
   10: 	function __construct($data)
   11: 	{
   12: 		$this->_data = $data;
   13: 	}
   14: 
   15: 	function __isset($field_name)
   16: 	{
   17: 		return isset($this->_data[$field_name]);
   18: 	}
   19: }
   20: 
   21: $arr = array('foo' => '');
   22: 
   23: $myclass = new myclass($arr) ;
   24: 
   25: echo (isset($myclass->foo)) ? 'isset' : 'not isset';
   26: echo "\n";
   27: echo (empty($myclass->foo)) ? 'empty' : 'not empty';
   28: echo "\n";
   29: echo ($myclass->foo) ? 'not empty' : 'empty';
   30: echo "\n";
   31: 
   32: ?>
   33: --EXPECTF--
   34: isset
   35: empty
   36: 
   37: Notice: Undefined property: myclass::$foo in %s on line %d
   38: empty

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>