PHP:我可以引用函数返回的数组的单个成员吗?

11 php arrays function

知道如何在PHP中将以下内容作为一行吗?:

<?php
$firstElement = functionThatReturnsAnArray()[0];
Run Code Online (Sandbox Code Playgroud)

......它似乎没有'采取'.我需要以双步进行:

<?php
$allElements = functionThatReturnsAnArray();
$firstElement = $allElements[0];
Run Code Online (Sandbox Code Playgroud)

...只是好奇 - 我玩的其他语言允许这样的事情,而我懒得让你错过这个PHP ...任何洞察力都赞赏...

nic*_*ckf 9

@Scott Reynen

这不是真的.这将有效:

list(,,$thirdElement) = $myArray;
Run Code Online (Sandbox Code Playgroud)


cal*_*own 8

尝试:

<?php
$firstElement = reset(functionThatReturnsAnArray());
Run Code Online (Sandbox Code Playgroud)

如果你只是在寻找数组的第一个元素.


小智 6

不幸的是,PHP无法做到这一点.你必须使用两行来完成它.


Gar*_*ght 5

可以在一行中做到这一点!使用array_shift().

<?php

echo array_shift(i_return_an_array());

function i_return_an_array() {
    return array('foo', 'bar', 'baz');
}
Run Code Online (Sandbox Code Playgroud)

执行此操作时,它将回显" foo".