isset.test 1.97 KB
Newer Older
jhon committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
UVS isset() on temporaries
-----
<?php

isset(([0, 1] + [])[0]);
isset(['a' => 'b']->a);
isset("str"->a);
-----
!!php7
array(
    0: Expr_Isset(
        vars: array(
            0: Expr_ArrayDimFetch(
                var: Expr_BinaryOp_Plus(
                    left: Expr_Array(
                        items: array(
                            0: Expr_ArrayItem(
                                key: null
                                value: Scalar_LNumber(
                                    value: 0
                                )
                                byRef: false
                            )
                            1: Expr_ArrayItem(
                                key: null
                                value: Scalar_LNumber(
                                    value: 1
                                )
                                byRef: false
                            )
                        )
                    )
                    right: Expr_Array(
                        items: array(
                        )
                    )
                )
                dim: Scalar_LNumber(
                    value: 0
                )
            )
        )
    )
    1: Expr_Isset(
        vars: array(
            0: Expr_PropertyFetch(
                var: Expr_Array(
                    items: array(
                        0: Expr_ArrayItem(
                            key: Scalar_String(
                                value: a
                            )
                            value: Scalar_String(
                                value: b
                            )
                            byRef: false
                        )
                    )
                )
                name: a
            )
        )
    )
    2: Expr_Isset(
        vars: array(
            0: Expr_PropertyFetch(
                var: Scalar_String(
                    value: str
                )
                name: a
            )
        )
    )
)