在执行函数后获取数组元素?

时间:2009-07-29 10:30:51

标签: php arrays syntax function

我正在寻找是否有一些我缺少的PHP语法,这将允许我抓取我刚刚使用函数操作的数组的内容..

很好的例子:

$firstElement = sort($myArray)[0];

通常我必须这样做:

$myArray = sort($myArray);
$firstElement = $myArray[0];

任何干净的方法吗?

谢谢大家! 马特

2 个答案:

答案 0 :(得分:4)

如果数组值不在变量中,则没有语法可以访问它。有一个proposal to add such a syntax但它被拒绝了。

PS:sort只返回布尔值。所以你的例子无论如何都行不通。

答案 1 :(得分:2)

像这样的语法

$ firstElement = sort($ myArray)[0];

绝对不可能 - 你已经注意到了自己^^

如果您愿意获取数组的第一个元素,可以使用reset函数,如下所示:

$list = array('z', 'c', 'd');
$element = reset($list);
var_dump($element);

会显示:

string 'z' (length=1)

副作用是(引用):

  

reset()倒回数组的内部   指向第一个元素的指针   返回第一个数组的值   元件。

顺便说一句,因为排序不会返回数组,所以你不能这样做:

$list = array('z', 'c', 'd');
$element = reset(sort($list));
var_dump($element);

它会发出警告:

  

警告:reset()[function.reset]:   传递的变量不是数组或   对象