PHP Codeigniter数组计算

时间:2014-01-22 12:30:43

标签: php arrays codeigniter

我遇到了问题,我希望有人能帮助我。

我正在使用CodeIgniter从数据库中提取结果,我想将这些结果一起添加。我不是一个PHP开发人员,所以我不太清楚从哪里开始。

这是我正在使用的功能;

function get_warranty($id) {
    $this->db->select('warranty');
    $this->db->where('sID', $id);
    $query = $this->db->get('cars');
    return $query->result();
}

此函数返回此;

[warranty] = Array
(
    [0] => stdClass Object
        (
                [warranty] => 2
            )

    [1] => stdClass Object
        (
                [warranty] => 5000
            )

)

但是,我希望它能归还它;

[warranty] = 5002;

所以,它只是将它找到的每个结果加起来。

任何帮助都会非常感激,正如我所说,我不是一个PHP开发人员,所以我甚至不知道从哪里开始。

提前致谢!

2 个答案:

答案 0 :(得分:0)

取代return $query->result();使用return $query->result_array();。您将获得纯数组返回。

现在你可以使用foreach循环来像这样添加值:

$add_up = 0;
foreach ($reulst_array as $values)
{
    $addup = $add_up + $values;
}

这样变量$add_up将包含添加的数组。

答案 1 :(得分:0)

$ query - > result()函数返回带有查询结果的对象数组... 请参阅文档:http://ellislab.com/codeigniter/user-guide/database/active_record.html#select

这是我提出的修改后的函数,它根据需要简单地返回一个带总和的整数:

function get_warranty($id) {

    // Query composition
    $this->db->select('warranty');
    $this->db->where('sID', $id);
    $query = $this->db->get('cars');

    // Iterate through the returned objects and accumulation in $warranty 
    foreach ($query->result() as $row) {
        $warranty += $row->warranty;
    }

    return $warranty;
}

亲切的问候。