代码之家  ›  专栏  ›  技术社区  ›  Radu Maris

解析函数调用返回的数组

php
  •  0
  • Radu Maris  · 技术社区  · 14 年前

    我正在寻找一种类似PERL的简短语法

    <?php
        # instead of this ( PHP )
        $f = returnArray(); 
        echo $f[2];
        unset($f);
    
        # just do this ( PERL short code )
        echo (returnArray())[2];
    
        # or this ( PERL short code )
        echo returnArray()->[2];
    
        function returnArray()
        {
            return array(0=>'x', 1=>'y', 2=>'This will get printed');
        }
    ?>
    

    第一个回音会打印出来
    第二个和第三个是

    3 回复  |  直到 12 年前
        1
  •  0
  •   edorian    14 年前

    PHP在其当前版本中不支持此功能。在下一个即将发布的php版本中,计划包含这个特性。

    看到了吗 php.net wiki (本rfc及相关rfc)或 the blog post of the php 5.3 release manager .

    <?php
    function x() { return array(1,2,3); }
    list($one, $two, ) = x();
    

    等等。也许其他人会张贴更多的例子,但一般工作区看起来很好。。我不知道。

        2
  •  0
  •   NikiC    14 年前

    不,PHP还不支持这个。(据戈登说,它已经在后备箱里了。)

    function arrayOffset($array, $index) {
        return $array[$index];
    }
    
    arrayOffset(func(), 2);
    

    PS:事实上,我在中实现了这个特性 prephp ,但我不认为它应该被使用。它可能是错误的,我已经有相当一段时间没有开发该项目(虽然我希望恢复)。( Test , Implementation )

        3
  •  0
  •   Chris Moore    12 年前