PHP:{$ foo}和$ {foo}之间是否有区别

这个问题在这里已经有了答案:

  • 在PHP 5中的字符串大括号的答案

  • 看来,任何PHP版本都没有区别

        $foo = 'test';      
        var_dump("$foo");
        var_dump("{$foo}");
        var_dump("${foo}");
    

    测试:https://3v4l.org/vMO2D

    无论如何,我更喜欢"{$foo}"因为我认为它更具可读性,并适用于其他语法不适用的许多其他情况。

    作为一个例子,让我们尝试使用对象属性访问:

    var_dump("$foo->bar"); //syntax error
    var_dump("{$foo->bar}"); // works great
    var_dump("${foo->bar}"); //syntax error
    

    数组是相同的情况。

    http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing.complex


    不,没有什么不同。

    // Works, outputs: This is fantastic
    echo "This is {$great}";
    echo "This is ${great}";
    

    Php手册

    在stackoverflow上的答案

    另一种方式将其用于变量:

    $foo = 'test';
    $test = 'foo';
    var_dump("{${$foo}}"); //string(3) "test"
    

    或者对于数组:

    $foo = ['foo','test'];
    var_dump("{$foo[0]}"); //string(3) "foo"
    var_dump("${foo[1]}"); //string(3) "test"
    

    以下声明没有区别 -

    echo "This is {$great}";
    echo "This is ${great}";
    

    两个语句的输出都是相同的。请检查以下示例 -

    $great = 'answer';
    echo "This is {$great}"."n";
    echo "This is ${great}";
    
    Output:-
    
    This is answer
    This is answer
    
    链接地址: http://www.djcxy.com/p/59525.html

    上一篇: PHP: Is there a difference between {$foo} and ${foo}

    下一篇: How the Given Data type effect Overriding member variables