【问题标题】:PHP Codeigniter Array CalculationsPHP Codeigniter 数组计算
【发布时间】:2014-01-22 12:30:42
【问题描述】:

我遇到了一个问题,希望有人可以帮助我。

我正在使用 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 开发人员,所以我什至不知道从哪里开始。

提前致谢!

【问题讨论】:

    标签: php arrays codeigniter


    【解决方案1】:

    $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;
    }
    

    亲切的问候。

    【讨论】:

      【解决方案2】:

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

      现在您可以使用 foreach 循环将值相加,如下所示:

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

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

      【讨论】:

      • 嗨,Butterfruit,感谢您(非常快)的回复,但不幸的是,我遇到了错误; “不支持的操作数类型”,这是因为 $values 是一个数组吗?
      猜你喜欢
      • 2020-03-21
      • 1970-01-01
      • 2011-09-16
      • 1970-01-01
      • 2021-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-15
      相关资源
      最近更新 更多