Chris@0: Array destructuring Chris@0: ----- Chris@0: $b, 'b' => $a] = $baz; Chris@0: ----- Chris@0: !!php7 Chris@0: array( Chris@13: 0: Stmt_Expression( Chris@13: expr: Expr_Assign( Chris@13: var: Expr_Array( Chris@13: items: array( Chris@13: 0: Expr_ArrayItem( Chris@13: key: null Chris@13: value: Expr_Variable( Chris@13: name: a Chris@13: ) Chris@13: byRef: false Chris@0: ) Chris@13: 1: Expr_ArrayItem( Chris@13: key: null Chris@13: value: Expr_Variable( Chris@13: name: b Chris@13: ) Chris@13: byRef: false Chris@0: ) Chris@0: ) Chris@0: ) Chris@13: expr: Expr_Array( Chris@13: items: array( Chris@13: 0: Expr_ArrayItem( Chris@13: key: null Chris@13: value: Expr_Variable( Chris@13: name: c Chris@13: ) Chris@13: byRef: false Chris@0: ) Chris@13: 1: Expr_ArrayItem( Chris@13: key: null Chris@13: value: Expr_Variable( Chris@13: name: d Chris@13: ) Chris@13: byRef: false Chris@0: ) Chris@0: ) Chris@0: ) Chris@0: ) Chris@0: ) Chris@13: 1: Stmt_Expression( Chris@13: expr: Expr_Assign( Chris@13: var: Expr_Array( Chris@13: items: array( Chris@13: 0: null Chris@13: 1: Expr_ArrayItem( Chris@13: key: null Chris@13: value: Expr_Variable( Chris@13: name: a Chris@13: ) Chris@13: byRef: false Chris@0: ) Chris@13: 2: null Chris@13: 3: null Chris@13: 4: Expr_ArrayItem( Chris@13: key: null Chris@13: value: Expr_Variable( Chris@13: name: b Chris@13: ) Chris@13: byRef: false Chris@13: ) Chris@13: 5: null Chris@0: ) Chris@13: ) Chris@13: expr: Expr_Variable( Chris@13: name: foo Chris@0: ) Chris@0: ) Chris@13: ) Chris@13: 2: Stmt_Expression( Chris@13: expr: Expr_Assign( Chris@13: var: Expr_Array( Chris@13: items: array( Chris@13: 0: null Chris@13: 1: Expr_ArrayItem( Chris@13: key: null Chris@13: value: Expr_Array( Chris@13: items: array( Chris@13: 0: Expr_ArrayItem( Chris@13: key: null Chris@13: value: Expr_Array( Chris@13: items: array( Chris@13: 0: Expr_ArrayItem( Chris@13: key: null Chris@13: value: Expr_Variable( Chris@13: name: a Chris@13: ) Chris@13: byRef: false Chris@13: ) Chris@13: ) Chris@13: ) Chris@13: byRef: false Chris@13: ) Chris@13: ) Chris@13: ) Chris@13: byRef: false Chris@13: ) Chris@13: 2: Expr_ArrayItem( Chris@13: key: null Chris@13: value: Expr_Variable( Chris@13: name: b Chris@13: ) Chris@13: byRef: false Chris@13: ) Chris@13: ) Chris@13: ) Chris@13: expr: Expr_Variable( Chris@13: name: bar Chris@13: ) Chris@0: ) Chris@0: ) Chris@13: 3: Stmt_Expression( Chris@13: expr: Expr_Assign( Chris@13: var: Expr_Array( Chris@13: items: array( Chris@13: 0: Expr_ArrayItem( Chris@13: key: Scalar_String( Chris@13: value: a Chris@0: ) Chris@13: value: Expr_Variable( Chris@13: name: b Chris@13: ) Chris@13: byRef: false Chris@0: ) Chris@13: 1: Expr_ArrayItem( Chris@13: key: Scalar_String( Chris@13: value: b Chris@13: ) Chris@13: value: Expr_Variable( Chris@13: name: a Chris@13: ) Chris@13: byRef: false Chris@0: ) Chris@0: ) Chris@0: ) Chris@13: expr: Expr_Variable( Chris@13: name: baz Chris@0: ) Chris@0: ) Chris@0: ) Chris@0: )