返回数组元素而不创建变量

时间:2013-03-07 05:51:51

标签: php arrays

我觉得因为这个原因看起来很基本而感到愚蠢,但这真的让我烦恼。

我有一个返回带有单个元素的数组的方法。我只是想让它返回未包含在数组中的元素。我试过这个。

return $f->getValue()[0];

并且它会出错,但是如果我将它保存到变量中,它就可以正常工作。

$v = $f->getValue();
return $v[0];

我无法弄明白......

5 个答案:

答案 0 :(得分:4)

仅在PHP 5.4之后可用:http://codepad.viper-7.com/VHOW0o

答案 1 :(得分:4)

您要做的事情被称为array dereferencing,并且只能在PHP版本5.4中使用(如果您在我链接的文档文章中向上滚动几行,您会看到它提到)。

答案 2 :(得分:2)

使用reset()

<?php return reset( $f->getValue() ); ?>

编辑: reset()可能优于current(),因为它还确保内部指针被重置,尽管如果数组只包含一个元素则没有太大的区别。

答案 3 :(得分:1)

据我所知,因为你要返回一个数组,你只能得到一个数组。您可以将数组保存到类中的变量(可由$f->myArray访问),然后只返回字符串部分。或者另一个选择是执行第二个示例,然后返回数组并从中检索字符串。

答案 4 :(得分:0)

你试过这个吗?

         <?php
           return array_shift(array_values($array));
         ?>

Get the first element of an array