File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / lang / static_variation_002.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:48:06 2012 UTC (12 years, 4 months 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: Static variables in methods & nested functions & evals.
    3: --FILE--
    4: <?php
    5: 
    6: Class C {
    7: 	function f() {
    8: 		static $a = array(1,2,3);
    9: 		eval(' static $k = array(4,5,6); ');
   10: 		
   11: 		function cfg() {
   12: 			static $a = array(7,8,9);
   13: 			eval(' static $k = array(10,11,12); ');
   14: 			var_dump($a, $k);
   15: 		}
   16: 		var_dump($a, $k);
   17: 	}
   18: }
   19: $c = new C;
   20: $c->f();
   21: cfg();
   22: 
   23: Class D {
   24: 	static function f() {
   25: 		eval('function dfg() { static $b = array(1,2,3); var_dump($b); } ');
   26: 	}
   27: }
   28: D::f();
   29: dfg();
   30: 
   31: eval(' Class E { function f() { static $c = array(1,2,3); var_dump($c); } }');
   32: $e = new E;
   33: $e->f();
   34: 
   35: ?>
   36: --EXPECTF--
   37: array(3) {
   38:   [0]=>
   39:   int(1)
   40:   [1]=>
   41:   int(2)
   42:   [2]=>
   43:   int(3)
   44: }
   45: array(3) {
   46:   [0]=>
   47:   int(4)
   48:   [1]=>
   49:   int(5)
   50:   [2]=>
   51:   int(6)
   52: }
   53: array(3) {
   54:   [0]=>
   55:   int(7)
   56:   [1]=>
   57:   int(8)
   58:   [2]=>
   59:   int(9)
   60: }
   61: array(3) {
   62:   [0]=>
   63:   int(10)
   64:   [1]=>
   65:   int(11)
   66:   [2]=>
   67:   int(12)
   68: }
   69: array(3) {
   70:   [0]=>
   71:   int(1)
   72:   [1]=>
   73:   int(2)
   74:   [2]=>
   75:   int(3)
   76: }
   77: array(3) {
   78:   [0]=>
   79:   int(1)
   80:   [1]=>
   81:   int(2)
   82:   [2]=>
   83:   int(3)
   84: }

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