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