我正在寻找是否有一些我缺少的PHP语法,这将允许我抓取我刚刚使用函数操作的数组的内容..
很好的例子:
$firstElement = sort($myArray)[0];
通常我必须这样做:
$myArray = sort($myArray);
$firstElement = $myArray[0];
任何干净的方法吗?
谢谢大家! 马特
答案 0 :(得分:4)
如果数组值不在变量中,则没有语法可以访问它。有一个proposal to add such a syntax但它被拒绝了。
PS:sort
只返回布尔值。所以你的例子无论如何都行不通。
答案 1 :(得分:2)
像这样的语法
$ firstElement = sort($ myArray)[0];
绝对不可能 - 你已经注意到了自己^^
如果您愿意获取数组的第一个元素,可以使用reset
函数,如下所示:
$list = array('z', 'c', 'd');
$element = reset($list);
var_dump($element);
会显示:
string 'z' (length=1)
副作用是(引用):
reset()倒回数组的内部 指向第一个元素的指针 返回第一个数组的值 元件。
顺便说一句,因为排序不会返回数组,所以你不能这样做:
$list = array('z', 'c', 'd');
$element = reset(sort($list));
var_dump($element);
它会发出警告:
警告:reset()[function.reset]: 传递的变量不是数组或 对象