1

问这个问题我觉得很愚蠢,因为它看起来很基本,但它真的让我很烦。

我有一个方法可以返回一个包含单个元素的数组。我只希望它返回未包含在数组中的元素。我试过这个。

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

它给出了一个错误,但如果我将它保存到一个变量中,它工作正常。

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

我想不通……

4

5 回答 5

4

它仅从 PHP 5.4 开始可用: http: //codepad.viper-7.com/VHOW0o

于 2013-03-07T05:58:48.677 回答
4

您正在尝试执行的操作称为数组取消引用,并且仅在 PHP 5.4 版本中才有可能(如果您在我链接到的文档文章中向上滚动几行,您会看到它被提及)。

于 2013-03-07T06:00:22.187 回答
2

使用reset()

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

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

于 2013-03-07T06:03:16.000 回答
1

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

于 2013-03-07T05:56:37.833 回答
0

你试过这个吗

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

获取数组的第一个元素

于 2013-03-07T06:11:03.310 回答