我觉得问这个问题很愚蠢,因为它看起来很基本,但它真的让我很困扰。
我有一个方法,它返回一个包含单个元素的数组。我只想让它返回没有被包装在数组中的元素。我试过了。
return $f->getValue()[0];
,它给出了一个错误,但如果我把它保存到一个变量,它工作正常
$v = $f->getValue();
return $v[0];
我想不出来....
仅从PHP 5.4开始可用:http://codepad.viper-7.com/VHOW0o
您正在尝试做的事情被称为数组解引用,并且只能在5.4版本的PHP中实现(如果您在我链接到的文档文章中向上滚动几行,您将看到它被提到)。
使用reset()。
<?php return reset( $f->getValue() ); ?>
Edit: reset()可能优于current(),因为它也确保内部指针被重置,尽管如果数组只包含一个元素,它没有太大区别。
据我所知,因为你返回一个数组,你只能得到一个数组。您可以将数组保存到类中的一个变量中(由$f->myArray
访问),然后只返回字符串部分。或者另一种选择是执行第二个示例,返回数组并从中检索字符串。
你试过了吗
<?php
return array_shift(array_values($array));
?>
获取数组的第一个元素