Php 在多维数组中插入新的三个键
我有一个查询,它将以不同的数字显示列。 下面我的查询只有两行,但可能是四行、五行或更多行。 但是对于每个新数组,我需要插入三个不同的键(列4、列5和列6) 我正在尝试使用下面的代码,但它只会对具有相同键的列求和,这不是我想要的:Php 在多维数组中插入新的三个键,php,Php,我有一个查询,它将以不同的数字显示列。 下面我的查询只有两行,但可能是四行、五行或更多行。 但是对于每个新数组,我需要插入三个不同的键(列4、列5和列6) 我正在尝试使用下面的代码,但它只会对具有相同键的列求和,这不是我想要的: $result = array(); foreach($arr[0] as $k => $v) $result[$k] = array_sum(array_column($arr, $k)); 我有以下数组: array(2) { [0]=> a
$result = array();
foreach($arr[0] as $k => $v)
$result[$k] = array_sum(array_column($arr, $k));
我有以下数组:
array(2) {
[0]=>
array(9) {
["column_1"]=>
string(15) "Primary"
["column_2"]=>
string(6) "298.50"
["column_3"]=>
string(6) "298.50"
}
[1]=>
array(9) {
["column_1"]=>
string(17) "Secondary"
["column_2"]=>
string(6) "694.50"
["column_3"]=>
string(6) "694.50"
}
}
我想要最后的结果:
array(2) {
[0]=>
array(9) {
["column_1"]=>
string(15) "Primary"
["column_2"]=>
string(6) "298.50"
["column_3"]=>
string(6) "298.50"
["column_4"]=>
string(6) "298.50"
["column_5"]=>
string(6) "299.50"
["column_6"]=>
string(6) "300.50"
}
[1]=>
array(9) {
["column_1"]=>
string(17) "Secondary"
["column_2"]=>
string(6) "694.50"
["column_3"]=>
string(6) "694.50"
["column_4"]=>
string(6) "694.50"
["column_5"]=>
string(6) "695.50"
["column_6"]=>
string(6) "696.50"
}
}
其中,列中的信息如下所示:
column_4: Average;
column_5: Average + 1
column_6: Average + 2
您需要循环
$result
,并通过添加到该位置的数组成员来对其成员执行计算:
foreach( $result as $k => $v )
{
$result[ $k ][ 'column_4' ] = ( $v[ 'column_2' ] + $v[ 'column_3' ] ) / 2;
$result[ $k ][ 'column_5' ] = $result[ $k ][ 'column_4' ] + 1;
// I will let you figure out column_6 for yourself :)
}
如果您试图在查询中执行此操作,则可以执行此操作
SELECT AVG(my_column_name) as column_4,
AVG(my_column_name) + 1 as column_5,
AVG(my_column_name) +2 as column_6
FROM tablename
当前两个是
694.50
时,你是如何得到第4列的1389
的?@MonkeyZeus我刚刚修复了它。谢谢。谢谢你的回答,但我需要通过PHP来完成。没问题。蒙基宙斯的答案对你有用吗?谢谢。利用你的理念,我找到了一个解决方案。