我覺得這個問題很愚蠢,因爲它看起來很基本,但它真的讓我感到困擾。沒有創建變量返回數組元素
我有一個方法返回一個數組與單個元素。我只是希望它返回未包裝在數組中的元素。我試過這個。
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