gpt4 book ai didi

php - PHP和SQLite-将某些列值相乘

转载 作者:行者123 更新时间:2023-12-03 18:59:00 25 4
gpt4 key购买 nike

我正在从数据库中检索某些值可能类似于以下内容的数据:

Column1 | Column2
-----------------
Bob | 24
Joe | 17
Jimmy | 38
Joe | 10
Bob | 5
Sam | 8


有了这些数据,我想以某种方式选择Bob行并将它们相乘。我想对Column1中所有匹配的行执行此操作。我不关心在SQLite中执行此操作,但是在PHP中执行此操作的最佳方法是什么?我目前已通过执行以下操作将结果添加到PHP数组中:

$myArray[$resultRow['Column1']] = $resultRow['Column2'];

我想知道如何浏览并找到匹配的键,将它们的值相乘,并输出类似

Column1 = Column2-a * Column2-b

最佳答案

考虑以下代码:

$results = array();
foreach(array('Bob' => 24, 'Joe' => 17, 'Jimmy' => 38, 'Joe' => 10, 'Bob' => 5, 'Sam' => 8) as $key => $val){
$results[$key][] = $val;
}
echo '<pre>';
print_r($results);
echo '</pre>';


输出:

Array
(
[Bob] => Array
(
[0] => 5
)

[Joe] => Array
(
[0] => 10
)

[Jimmy] => Array
(
[0] => 38
)

[Sam] => Array
(
[0] => 8
)

)


PHP会忽略重复键,从数据库检索数据时必须创建$ results数组,并假设您这样做:

while () {
$col1 = $row["col1"];
$col2 = $row["col2"];
$results[$col1][] = $row["col2"];
}


现在结果数组必须是这样的:

Array
(
[Bob] => Array
(
[0] => 24
[1] => 5
)

[Joe] => Array
(
[0] => 17
[1] => 10
)

[Jimmy] => Array
(
[0] => 38
)

[Sam] => Array
(
[0] => 8
)

)


现在,可以轻松搜索如下的colmun1名称:

$values_for_colmn1 = $results[$column1]; //which is an array


//对数组产品使用array_product()函数

$product_for_column1 = array_product($values_for_colmn1);

关于php - PHP和SQLite-将某些列值相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14576816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com