File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / lang / engine_assignExecutionOrder_004.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, 5 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: Evaluation order during assignments.
    3: --FILE--
    4: <?php
    5: 
    6: function i1() {
    7:         echo "i1\n";
    8:         return 1;
    9: }
   10: 
   11: function i2() {
   12:         echo "i2\n";
   13:         return 1;
   14: }
   15: 
   16: function i3() {
   17:         echo "i3\n";
   18:         return 3;
   19: }
   20: 
   21: function i4() {
   22:         global $a;
   23:         $a = array(10, 11, 12, 13, 14);
   24:         echo "i4\n";
   25:         return 4;
   26: }
   27: 
   28: $a = 0; // $a should not be indexable till the i4 has been executed
   29: list($a[i1()+i2()], , list($a[i3()], $a[i4()]), $a[]) = array (0, 1, array(30, 40), 3, 4);
   30: 
   31: var_dump($a);
   32: 
   33: ?>
   34: --EXPECT--
   35: i1
   36: i2
   37: i3
   38: i4
   39: array(6) {
   40:   [0]=>
   41:   int(10)
   42:   [1]=>
   43:   int(11)
   44:   [2]=>
   45:   int(0)
   46:   [3]=>
   47:   int(30)
   48:   [4]=>
   49:   int(40)
   50:   [5]=>
   51:   int(3)
   52: }

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