0

私は次のような配列を持っています:

    $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 関数を使用したいと考えています。

私はこれを持っています。これは私のために3つの数字を引き出しますが、未定義のインデックスとして各数字のphpエラーが発生します。(注意: C:\wamp\www\jquery\test.php の 55 行目の未定義のインデックス: 7.7)

これまでの私のコードは次のとおりです。

    $diff_results = array();
    foreach($diff_date_results as $entry){
        $diff_results[$entry['differential']];
    }
    print_r($diff_results);

私はそれが簡単だと確信しています。私はあまりにも長い間それをいじっていました。どんな助けも素晴らしいでしょう!

ありがとう。

4

5 に答える 5

0
$diff_results = array_map($diff_date_results,
                          function($entry) { return $entry['differential']; });
于 2013-01-11T06:27:45.613 に答える
0

次のようにします。

$diff_results = array();

foreach($diff_date_results as $key => $entry){
    $diff_results[] .= $entry['differential']];
}

 print_r($diff_results);

ありがとう。

于 2013-01-11T06:15:42.583 に答える
0
$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 を使用できるようになりました。

さらに、合計が必要な場合は、以下の方法も使用できます。

$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;
于 2013-01-11T06:14:01.743 に答える
0

私のようにこの質問に出くわした人にとって、私の意見では、最善の解決策は、以下のように動作するバージョンのBarmars です

$diff_results = array_map(function($entry)
                          { 
                          return $entry['differential']; 
                          }, 
                          $diff_date_results);

これはより洗練された 1 行のソリューションです (読みやすくするために 5 行に拡張しています)。

于 2016-08-11T09:19:02.367 に答える
0
$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));
于 2013-01-11T06:31:17.787 に答える