我觉得因为这个原因看起来很基本而感到愚蠢,但这真的让我烦恼。
我有一个返回带有单个元素的数组的方法。我只是想让它返回未包含在数组中的元素。我试过这个。
return $f->getValue()[0];
并且它会出错,但是如果我将它保存到变量中,它就可以正常工作。
$v = $f->getValue();
return $v[0];
我无法弄明白......
答案 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));
?>