PHP:如何用原生函数单行获取函数返回数组的首个值
解决方法
这个问题我之前也碰到过,确实挺头疼的——像reset()这类需要传引用的函数,没法直接接收函数调用的返回值。不过有几个PHP原生的办法能一行搞定,看你的需求选:
最简洁的方式(PHP 5.4+):直接利用数组解引用特性,这是现在最推荐的写法:
echo asdf()['key'];从PHP 5.4开始,支持直接对函数返回的数组使用下标访问,完全不需要额外函数,代码清晰又简洁。
不知道键名时取第一个值(PHP 5.4+):如果你只需要取数组的第一个值,不管键名是什么,可以结合
array_values():echo array_values(asdf())[0];array_values()会把关联数组转成索引数组,然后直接取第一个元素即可。兼容低版本PHP(PHP 4+):如果你的PHP版本低于5.4,没法用数组解引用,可以用
call_user_func()来绕开引用传递的限制:echo call_user_func('reset', asdf());call_user_func()会把asdf()的返回值作为参数传递给reset(),而且不会触发“Only variables should be passed by reference”的错误。
内容的提问来源于stack exchange,提问作者user1985273
相关产品推荐
相关产品推荐

