2

我在使用取消引用的这行代码上遇到错误:

   $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();

但是创建方法调用似乎很麻烦

4

2 回答 2

1

list() 是你想要的。假设右边的值可以通过整数键访问,它一直存在并且工作得很好。

<?php
list(, $one, , $three) = range(0, 4);

请注意, list() 不会迭代键(如 foreach 那样),而是通过槽位置 (0, 1, ...) 直接访问整数键。如果这些键不存在,您将收到一条通知并将您的值设置为 null。

于 2013-06-24T01:03:21.137 回答
1
$res = $results->result();
$data['data'] = $res[0];

或者您可以使用重新分配(以避免需要临时变量):

$data['data'] = $results->result();
$data['data'] = $data['data'][0];
于 2013-02-05T16:03:32.373 回答