0

私は現在配列を持っていますが、配列内のアイテムの量は変更される可能性があります。配列内の値のさまざまな組み合わせを見つけようとしています。たとえば、配列には現在これらの値があります。

Array ( [0] => 60.0 [1] => 56.8 [2] => 42.08 [3] => 52.16 [4] => 52.8 )

値の数 (この場合は 5) を数えてから、次のようにすることは可能ですか?

60.0 + 56.8
60.0 + 56.8 + 42.08
60.0 + 56.8 + 42.08 + 52.16
60.0 + 56.8 + 42.08 + 52.16 + 52.8

しかし、次のようなすべての組み合わせも表示します。
56.8 + 42.08
42.08 + 52.16
など

多次元配列、配列シフト、およびその他の配列関連のコードを使用してみました。

4

4 に答える 4

0

この例は、指定された配列の合計と引用符をエコーし​​ます。

$array = array(1,2,3,4);
$total = 0;
$equot = array();
foreach($array as $k=>$a) {     
   $total += $a;
   $equot[] = $a;
   if($k>0) { 
       echo implode("+",$equot)." = $total<br>"; 
   }
}

指定された配列に対して、エコーします:

  • 1+2 = 3
  • 1+2+3 = 6
  • 1+2+3+4 = 10

可能なすべての組み合わせを取得したい場合は、この既存のスレッドを読む必要があります。

PHP: 1D 配列のすべての可能な組み合わせを取得する方法は?

于 2013-08-07T13:20:31.703 に答える
0
$sum = array_sum(array_slice($array, 0, rand(1, count($array))));

アップデート:

以下のコードは、数値を含む を受け入れ、$arrayランダムな (重複なしで最初から開始する) 要素の合計を方程式と共に表示します。

$rand = rand(1, count($array));
$sum = array_sum(array_slice($array, 0, $rand));
$equation = implode(' + ', array_slice($array, 0, $rand));

echo $equation. ' = '. $sum;

実際の動作:コードパッド

于 2013-08-07T13:23:42.030 に答える