【问题标题】:Is there a way to get just one element from array that is returned as a function? [duplicate]有没有办法从作为函数返回的数组中获取一个元素? [复制]
【发布时间】:2013-10-30 16:34:38
【问题描述】:

假设我有一个返回数组的函数/方法,我们称之为 ArrayReturner()。但我只想要第一个元素,[0]。现在我正在做类似的事情......

$arrayReturned = ArrayReturner();
$varIWant = $arrayReturned[0];

有没有一种无需临时 $arrayReturned 数组就可以在一行中执行此操作的方法?

【问题讨论】:

    标签: php


    【解决方案1】:

    试试:

    $arrayReturned = reset(ArrayReturner());
    

    【讨论】:

    • 嗯,那没用。我严格编码,它给出了错误“严格标准:只有变量应该通过引用传递”,分配给 $varIWant 的值是别的东西......我什至不确定数字来自哪里,但它不是正确的值。
    • @DanGoodspeed 您可以将数组括在括号中:$arrayReturned = reset((ArrayReturner())); 这样它就不会通过引用传递函数,而只是传递值。这将符合严格的标准。
    【解决方案2】:

    取决于您使用的 PHP 版本。

    如果您使用的是 PHP ArrayReturner()[0]。这只能在 PHP >= 5.4 中实现。

    如果您希望您的代码具有可移植性,这将适用于新旧版本,那么您最好坚持使用该代码:

    $arrayReturned = ArrayReturner();
    $varIWant = $arrayReturned[0];
    

    【讨论】:

    • 该死,我还在运行 5.3.27。我不担心便携性。仅仅为了这个小功能不值得升级,但我想知道它是件好事。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 2019-10-26
    • 1970-01-01
    • 2020-05-05
    相关资源
    最近更新 更多