我觉得这个问题很愚蠢,因为它看起来很基本,但它真的让我感到困扰。没有创建变量返回数组元素
我有一个方法返回一个数组与单个元素。我只是希望它返回未包装在数组中的元素。我试过这个。
return $f->getValue()[0];
它给出了一个错误,但如果我将它保存到一个变量,它工作正常。
$v = $f->getValue();
return $v[0];
我无法弄清楚....
我觉得这个问题很愚蠢,因为它看起来很基本,但它真的让我感到困扰。没有创建变量返回数组元素
我有一个方法返回一个数组与单个元素。我只是希望它返回未包装在数组中的元素。我试过这个。
return $f->getValue()[0];
它给出了一个错误,但如果我将它保存到一个变量,它工作正常。
$v = $f->getValue();
return $v[0];
我无法弄清楚....
使用reset()。
<?php return reset($f->getValue()); ?>
编辑:复位()可能优于目前的(),因为它也确保了内部指针复位,尽管它没有做太大的区别,如果数组只包含一个元素。
据我所知,因为你是返回一个数组,你只能得到一个数组。您可以改为将数组保存到类中的变量(可由$f->myArray
访问),然后仅返回字符串部分。或者另一种选择是做你的第二个例子,返回数组并从中检索字符串。
这是如此怪异 – 2013-03-07 05:58:26
我可能是错的。如果你只想要字符串,为什么你想返回一个数组? – Sam 2013-03-07 06:01:12
这是一个库...他们是返回字符串数组的情况 – 2013-03-07 21:37:04
这仅因为PHP 5.4:http://codepad.viper-7.com/VHOW0o
你正在尝试做的,被称为array dereferencing,且只能在PHP作为5.4版本(如果您滚动的文档的文章我的几行链接到,你会看到它提到)。
这很烦人,这需要一个解决方法......至少他们在5.4中修复了它 – 2013-03-08 01:13:31