2015-05-22 5 views
0

у меня есть два массива, как этотCodeIgniter: как выполнять математические операции с использованием двух массивов

массив 1

array(3) { [0]=> float(2.7742631687417) [1]=> float(2.5949809043991) [2]=> float(3.0174025996932) } 

массив 2

array(3) { [0]=> float(2.7259998526469) [1]=> float(3.4826656582587) [2]=> float(3.2284968891602) } 

Этот массив является динамическим, поэтому размер массива не всегда является массивом (3). иногда массив имеет размер массива (2), массив (4), массив (5). Массив как пример.

Я хочу выполнить математические операции, используя значения в массиве, используя функцию циклирования. Математическая формула, если я это делать вручную, как это

, например:

V1 = 2.7742631687417/(2.7742631687417 + 2.7259998526469)

V2 = 2.5949809043991/(2.5949809043991 + 3.4826656582587)

V3 = 3.0174025996932/(3.0174025996932 + 3.2284968891602)

Численные значения, полученные из существующих значений массив. Число «V» зависит от количества индексов, которые существуют в массиве. например, массив (3), а затем «V», равный 3 (V1, V2, V3).

так как я могу выполнять математические операции и хранить его в массиве? Я использую PHP и CodeIgniter

+0

Если вы получили ответ на свой вопрос, пожалуйста, выбрать один и закрыть вопрос ... –

ответ

1

На основании вашего описания кажется, что вы хотите разделить значение array1 на суммирование значений array1 и array2. Код будет:

$arrlength = count($arr1); 
    for($x = 0; $x < $arrlength; $x++) { 
     $arr3[$x]=$arr1[$x]/($arr1[$x]+$arr2[$x]); 
      } 
+0

я уже следовать алгоритму вас, но результат не так как я ожидал. Я не знаю, почему результат получается так: 'array (3) {[0] => float (0.50438736437759) [1] => float (0.42697134123315) [2] => float (0.48310136995931)}' и массив значений, который я должен получить, это так: 'array (3) {[0] => float (0,495612636) [1] => float (0,573028659) [2] => float (0 , 51689863)} '@GoodLuck –

+0

Возможно, вы разделите array2 на суммирование array1 и areay2 вместо деления массива 1 на суммирование этих двух массивов. –

2

вот что вы написали в вашем примере массивах, так что это динамическое, если вы создаете функцию и передать 2 массива с любой длиной он рассчитает и хранить его в другом массив $ г Вот.

 $a = array(2.7742631687417,2.5949809043991,3.0174025996932); 
    $b= array(2.7259998526469,3.4826656582587,3.2284968891602); 

    for($i=0; $i<count($a);$i++){ 
      $r[] = $a[$i]/($a[$i] + $b[$i]); 
    } 
    print_r($r); 

С уважением

Смежные вопросы