Php 将sql查询相同的列值合并到一个数组中
我有一个简单的问题Php 将sql查询相同的列值合并到一个数组中,php,sql,codeigniter,Php,Sql,Codeigniter,我有一个简单的问题 SELECT purchase.Quantity*purchase.Price AS Total FROM purchase. 在CodeIgniter中,我通过以下方式获取结果作为数组:$this->db->query($query)->result\u array() 查询结果为: array(2) { [0]=> array(1) { ["Total"]=> string(2) "42" } [1]=> array(1) { ["Total"]=&g
SELECT purchase.Quantity*purchase.Price AS Total FROM purchase.
在CodeIgniter中,我通过以下方式获取结果作为数组:$this->db->query($query)->result\u array()代码>
查询结果为:
array(2) { [0]=> array(1) { ["Total"]=> string(2) "42" } [1]=> array(1) { ["Total"]=> string(5) "10900" } }
我想要的是一个数组总数,它包含以下所有值
Total=[42,10900]
我的代码或查询中是否缺少任何内容?使用foreach
循环可以轻松实现您想要的内容。如果我理解正确的话
$total = array();
foreach ($query->result_array() as $row) {
$total[] = $row['Total'];
}
print_r($total); // outputs something like this: Array ( [0] => 42 [1] => 10900 )
你需要全部购买的金额吗?不需要。我需要将两列相乘$output=array_map(函数($v){return$v['Total'];},$result)代码>?我不确定您的确切需求是什么,但如果您想要补助金总额,您可以使用金额(购买.数量*购买.价格)作为Total
如果我不知道这里的属性名称,那该怎么办?我不明白你怎么可能不知道列的名称…?如果它在运行时决定怎么办。Total可以是TotalPurchase,也可以是Total或TotalPurchase?