2017-12-14 7 views
0

私は投票結果に取り組んでいます。私は100%で4つの動的数値を合わせたいと思います。申し訳ありませんが正しく説明していない場合、私はオランダのネイティブですし、正しく説明しようとしています。PHP - 数値の配列を100%で合わせる

これは私の言いたいことです:私の投票結果がこのようなものなら、

  • 回答1:1票
  • 回答2:1投票
  • 回答3:1投票
  • 回答4:1投票

結果は、25、25であるべきです25,25

これを計算する方法はありますか?私はすべてこのような配列の答えを持っています:

$all_values = array($answers_1, $answer_2, $answer_3, $answer_4); 

私はこれをPHPでどのようにすることができますか?

+0

基本的な数学ですか? – nogad

+0

基本的な数学 - あなたは単純にパーセンテージを探しています - 例えば、 'answer_vote_count/total_vote_count * 100' – David

答えて

1

十分なはずです。あなたはcustom functionarray_sumarray_mapを使用することができます。

$sum = array_sum($all_values); 
$result = array_map(function ($value) use ($sum) { 
    return $value * 100/$sum; 
}, $all_values); 

あなたが返す前に結果をキャストすることができますが、私はあなたが望むタイプか分かりません。

Short Demo

+0

答えにあるarray_map docsに基づいて、引数1は配列ではなくコールバックでなければなりません。 – Erwin

+0

あなたは本当に正しいです。私は今答えを編集します。 – jh1711

+0

それはうまくいきました、ありがとうございます。 –

関連する問題