HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //var/www/html/punjabcabs/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/funcCall.test
Function calls
-----
<?php

// function name variations
a();
$a();
${'a'}();
$$a();
$$$a();
$a['b']();
$a{'b'}();
$a->b['c']();

// array dereferencing
a()['b'];
-----
array(
    0: Expr_FuncCall(
        name: Name(
            parts: array(
                0: a
            )
            comments: array(
                0: // function name variations
            )
        )
        args: array(
        )
        comments: array(
            0: // function name variations
        )
    )
    1: Expr_FuncCall(
        name: Expr_Variable(
            name: a
        )
        args: array(
        )
    )
    2: Expr_FuncCall(
        name: Expr_Variable(
            name: Scalar_String(
                value: a
            )
        )
        args: array(
        )
    )
    3: Expr_FuncCall(
        name: Expr_Variable(
            name: Expr_Variable(
                name: a
            )
        )
        args: array(
        )
    )
    4: Expr_FuncCall(
        name: Expr_Variable(
            name: Expr_Variable(
                name: Expr_Variable(
                    name: a
                )
            )
        )
        args: array(
        )
    )
    5: Expr_FuncCall(
        name: Expr_ArrayDimFetch(
            var: Expr_Variable(
                name: a
            )
            dim: Scalar_String(
                value: b
            )
        )
        args: array(
        )
    )
    6: Expr_FuncCall(
        name: Expr_ArrayDimFetch(
            var: Expr_Variable(
                name: a
            )
            dim: Scalar_String(
                value: b
            )
        )
        args: array(
        )
    )
    7: Expr_FuncCall(
        name: Expr_ArrayDimFetch(
            var: Expr_PropertyFetch(
                var: Expr_Variable(
                    name: a
                )
                name: b
            )
            dim: Scalar_String(
                value: c
            )
        )
        args: array(
        )
    )
    8: Expr_ArrayDimFetch(
        var: Expr_FuncCall(
            name: Name(
                parts: array(
                    0: a
                )
                comments: array(
                    0: // array dereferencing
                )
            )
            args: array(
            )
            comments: array(
                0: // array dereferencing
            )
        )
        dim: Scalar_String(
            value: b
        )
        comments: array(
            0: // array dereferencing
        )
    )
)