我有一个数组:
$diff_date_results =
Array (
[0] => Array ( [differential] => 7.7 [date] => 2012-12-30 )
[1] => Array ( [differential] => 8.2 [date] => 2012-12-31 )
[2] => Array ( [differential] => 9.9 [date] => 2013-01-03 )
)
我想从每个内部数组的差分键中提取所有值,以便在新创建的数组上使用array_sum函数。
我有这个,它为我绘制了三个数字,但我得到php错误的每个数字作为一个未定义的索引。(注意:未定义的索引:7.7在C:wampwwwjquerytest.php第55行)
到目前为止,我的代码如下: $diff_results = array();
foreach($diff_date_results as $entry){
$diff_results[$entry['differential']];
}
print_r($diff_results);
我相信它很简单,我已经瞎折腾了太久了,任何帮助将是美妙的!
谢谢。
$diff_results = array();
foreach($diff_date_results as $entry){
$diff_results[] = $entry['differential'];
}
//just for displaying all differential
print_r($diff_results);
现在,您可以在$diff_results上使用array_sum。
此外,如果你想要sum,那么你也可以使用下面的方法。
$diff_results = "";
foreach($diff_date_results as $entry){
$diff_results = $diff_results + $entry['differential'];
}
//$diff_results will have sum of all differential
echo $diff_results;
$diff_results = array_map($diff_date_results,
function($entry) { return $entry['differential']; });
这样做:
$diff_results = array();
foreach($diff_date_results as $key => $entry){
$diff_results[] .= $entry['differential']];
}
print_r($diff_results);
谢谢。
$diff_date_results = array (
0 => array ( 'differential'=> 7.7, 'date' => 20),
1 => Array ( 'differential' => 8.8, 'date' => 20 ),
2 => Array ( 'differential' => 9.8 ,'date' => 20 ),
);
$value_differential=array();
foreach( $diff_date_results as $key=>$value){
print_r($value);
$value_differential[]=$value['differential'];
}
print_r(array_sum($value_differential));
对于像我一样遇到这个问题的人,我认为最好的解决方案是Barmars的工作版本如下:
$diff_results = array_map(function($entry)
{
return $entry['differential'];
},
$diff_date_results);
是一个更优雅的1行解决方案(为了可读性,我将其扩展为5行)。