PHP函数只返回第一个结果

时间:2014-01-17 18:50:18

标签: php return

我正在尝试创建一个简单的函数,只返回查询的第一组结果,但是我收到以下错误:

Parse error: syntax error, unexpected '[' in /Users/MAMP_SITES/website/classes/DB.php on line 78 

以下是导致错误的代码:

$user = DB::getInstance()->get('users', array('username', '=', 'rich'));

if(!$user->count()) {
    echo 'No user';
} else {
foreach($user->results() as $user) {
    echo $user->first()->username;
}
}

以下是DB.php的相关功能:

public function results() {
    return $this->_results;
}

public function first() {
    return $this->results()[0]; // This is line 78 where the error is
}

我从一个可能有点过时的教程中获取此代码。

2 个答案:

答案 0 :(得分:1)

数组解除引用仅适用于最新的PHP版本。要返回第一个数组项,可以使用current()函数。

return current($this->results());

答案 1 :(得分:0)

您可以尝试:

public function first() {
    $results = $this->results();
    return (sizeof($results)>0 ? $results[0] : null);
}

OR

public function first() {
    return current( $this->results() );
}