给定一个返回数组的函数;
function return_me_an_array() {
return array('my_value');
}
如何调用它并以优雅的方式从数组中获取单个值(无论是第一个、最后一个还是唯一)(是的,我知道这是 PHP!)
如果我这样做
$var = reset(return_me_an_array());
我收到以下 PHP 严格错误:
严格警告:只能通过引用传递变量
同样,这些中的每一个都给出了相同的警告。
$var = array_shift(return_me_an_array());
$var = array_pop(return_me_an_array());
我知道我可以这样做:
$temp = return_me_an_array();
$var = $reset($temp);
但是必须对两个语句进行处理是非常可怕的。
有没有好的方法来做到这一点?
从表面上看,这类似于如何在 PHP 中返回一个数组并在一行中获取它的第一个元素?但接受的答案使用reset
- 所以我认为这是不同的;我要么正在寻找一个不给出严格警告的解决方案,要么被告知我想要什么是不可能的。
我也知道 PHP 5.4 引入了数组取消引用(例如return_me_an_array()[0]
),但是我目前使用的是 5.3。
关闭后编辑:这怎么太本地化了?这是关于如何编写优雅的 PHP 的一般问题。还是很少有人关心优雅的 PHP,这是“一种非常狭窄的情况,并不普遍适用于互联网的全球受众”?