我在这行代码中遇到了一个错误,它使用了去引用:
$data['data'] = $results->result()[0];
(我是从PHP 5.4开始学习PHP的。)如何以5.3的方式取消引用?
我已经检查了文档:
function getArray() {
return array(1, 2, 3);
}
// on PHP 5.4
$secondElement = getArray()[1];
// before PHP 5.4
$tmp = getArray();
$secondElement = $tmp[1];
// or
list(, $secondElement) = getArray();
但是创建一个方法调用似乎很麻烦
list()就是您想要的。它已经存在了很长一段时间,假设右边的值可以通过整数键访问,它的工作效果很好。
<?php
list(, $one, , $three) = range(0, 4);
请注意,list()不会像foreach那样迭代键,而是直接按槽位置(0,1,…)访问整数键。如果这些键不存在,您将收到一个NOTICE,并且您的值设置为null。
$res = $results->result();
$data['data'] = $res[0];
或者您可以使用重新分配(以避免需要临时变量):
$data['data'] = $results->result();
$data['data'] = $data['data'][0];