Assignments ----- >= $b; $a **= $b; // chained assign $a = $b *= $c **= $d; // by ref assign $a =& $b; // list() assign list($a) = $b; list($a, , $b) = $c; list($a, list(, $c), $d) = $e; // inc/dec ++$a; $a++; --$a; $a--; ----- array( 0: Expr_Assign( var: Expr_Variable( name: a comments: array( 0: // simple assign ) ) expr: Expr_Variable( name: b ) comments: array( 0: // simple assign ) ) 1: Expr_AssignOp_BitwiseAnd( var: Expr_Variable( name: a comments: array( 0: // combined assign ) ) expr: Expr_Variable( name: b ) comments: array( 0: // combined assign ) ) 2: Expr_AssignOp_BitwiseOr( var: Expr_Variable( name: a ) expr: Expr_Variable( name: b ) ) 3: Expr_AssignOp_BitwiseXor( var: Expr_Variable( name: a ) expr: Expr_Variable( name: b ) ) 4: Expr_AssignOp_Concat( var: Expr_Variable( name: a ) expr: Expr_Variable( name: b ) ) 5: Expr_AssignOp_Div( var: Expr_Variable( name: a ) expr: Expr_Variable( name: b ) ) 6: Expr_AssignOp_Minus( var: Expr_Variable( name: a ) expr: Expr_Variable( name: b ) ) 7: Expr_AssignOp_Mod( var: Expr_Variable( name: a ) expr: Expr_Variable( name: b ) ) 8: Expr_AssignOp_Mul( var: Expr_Variable( name: a ) expr: Expr_Variable( name: b ) ) 9: Expr_AssignOp_Plus( var: Expr_Variable( name: a ) expr: Expr_Variable( name: b ) ) 10: Expr_AssignOp_ShiftLeft( var: Expr_Variable( name: a ) expr: Expr_Variable( name: b ) ) 11: Expr_AssignOp_ShiftRight( var: Expr_Variable( name: a ) expr: Expr_Variable( name: b ) ) 12: Expr_AssignOp_Pow( var: Expr_Variable( name: a ) expr: Expr_Variable( name: b ) ) 13: Expr_Assign( var: Expr_Variable( name: a comments: array( 0: // chained assign ) ) expr: Expr_AssignOp_Mul( var: Expr_Variable( name: b ) expr: Expr_AssignOp_Pow( var: Expr_Variable( name: c ) expr: Expr_Variable( name: d ) ) ) comments: array( 0: // chained assign ) ) 14: Expr_AssignRef( var: Expr_Variable( name: a comments: array( 0: // by ref assign ) ) expr: Expr_Variable( name: b ) comments: array( 0: // by ref assign ) ) 15: Expr_Assign( var: Expr_List( items: array( 0: Expr_ArrayItem( key: null value: Expr_Variable( name: a ) byRef: false ) ) comments: array( 0: // list() assign ) ) expr: Expr_Variable( name: b ) comments: array( 0: // list() assign ) ) 16: Expr_Assign( var: Expr_List( items: array( 0: Expr_ArrayItem( key: null value: Expr_Variable( name: a ) byRef: false ) 1: null 2: Expr_ArrayItem( key: null value: Expr_Variable( name: b ) byRef: false ) ) ) expr: Expr_Variable( name: c ) ) 17: Expr_Assign( var: Expr_List( items: array( 0: Expr_ArrayItem( key: null value: Expr_Variable( name: a ) byRef: false ) 1: Expr_ArrayItem( key: null value: Expr_List( items: array( 0: null 1: Expr_ArrayItem( key: null value: Expr_Variable( name: c ) byRef: false ) ) ) byRef: false ) 2: Expr_ArrayItem( key: null value: Expr_Variable( name: d ) byRef: false ) ) ) expr: Expr_Variable( name: e ) ) 18: Expr_PreInc( var: Expr_Variable( name: a ) comments: array( 0: // inc/dec ) ) 19: Expr_PostInc( var: Expr_Variable( name: a ) ) 20: Expr_PreDec( var: Expr_Variable( name: a ) ) 21: Expr_PostDec( var: Expr_Variable( name: a ) ) )