123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- Match
- -----
- <?php
- echo match (1) {
- 0 => 'Foo',
- 1 => 'Bar',
- };
- -----
- !!php7
- array(
- 0: Stmt_Echo(
- exprs: array(
- 0: Expr_Match(
- cond: Scalar_LNumber(
- value: 1
- )
- arms: array(
- 0: MatchArm(
- conds: array(
- 0: Scalar_LNumber(
- value: 0
- )
- )
- body: Scalar_String(
- value: Foo
- )
- )
- 1: MatchArm(
- conds: array(
- 0: Scalar_LNumber(
- value: 1
- )
- )
- body: Scalar_String(
- value: Bar
- )
- )
- )
- )
- )
- )
- )
- -----
- <?php
- $value = match (1) {
- // list of conditions
- 0, 1 => 'Foo',
- };
- -----
- !!php7
- array(
- 0: Stmt_Expression(
- expr: Expr_Assign(
- var: Expr_Variable(
- name: value
- )
- expr: Expr_Match(
- cond: Scalar_LNumber(
- value: 1
- )
- arms: array(
- 0: MatchArm(
- conds: array(
- 0: Scalar_LNumber(
- value: 0
- comments: array(
- 0: // list of conditions
- )
- )
- 1: Scalar_LNumber(
- value: 1
- )
- )
- body: Scalar_String(
- value: Foo
- )
- comments: array(
- 0: // list of conditions
- )
- )
- )
- )
- )
- )
- )
- -----
- <?php
- $result = match ($operator) {
- BinaryOperator::ADD => $lhs + $rhs,
- };
- -----
- !!php7
- array(
- 0: Stmt_Expression(
- expr: Expr_Assign(
- var: Expr_Variable(
- name: result
- )
- expr: Expr_Match(
- cond: Expr_Variable(
- name: operator
- )
- arms: array(
- 0: MatchArm(
- conds: array(
- 0: Expr_ClassConstFetch(
- class: Name(
- parts: array(
- 0: BinaryOperator
- )
- )
- name: Identifier(
- name: ADD
- )
- )
- )
- body: Expr_BinaryOp_Plus(
- left: Expr_Variable(
- name: lhs
- )
- right: Expr_Variable(
- name: rhs
- )
- )
- )
- )
- )
- )
- )
- )
- -----
- <?php
- $value = match ($char) {
- 1 => '1',
- default => 'default'
- };
- -----
- !!php7
- array(
- 0: Stmt_Expression(
- expr: Expr_Assign(
- var: Expr_Variable(
- name: value
- )
- expr: Expr_Match(
- cond: Expr_Variable(
- name: char
- )
- arms: array(
- 0: MatchArm(
- conds: array(
- 0: Scalar_LNumber(
- value: 1
- )
- )
- body: Scalar_String(
- value: 1
- )
- )
- 1: MatchArm(
- conds: null
- body: Scalar_String(
- value: default
- )
- )
- )
- )
- )
- )
- )
- -----
- <?php
- $value = match (1) {
- 0, 1, => 'Foo',
- default, => 'Bar',
- };
- -----
- !!php7
- array(
- 0: Stmt_Expression(
- expr: Expr_Assign(
- var: Expr_Variable(
- name: value
- )
- expr: Expr_Match(
- cond: Scalar_LNumber(
- value: 1
- )
- arms: array(
- 0: MatchArm(
- conds: array(
- 0: Scalar_LNumber(
- value: 0
- )
- 1: Scalar_LNumber(
- value: 1
- )
- )
- body: Scalar_String(
- value: Foo
- )
- )
- 1: MatchArm(
- conds: null
- body: Scalar_String(
- value: Bar
- )
- )
- )
- )
- )
- )
- )
|