расчеты между двумя многомерными массивами - PullRequest
0 голосов
/ 06 октября 2011

У меня есть этот код:

$id = new matrix(array(0=>array(1,0.5,3), 1=>array(2,1,4), 2=>array(1/3,1/4,1)));

$soma = $id->times($id)->sumRows();

Это выводит это:

matrix Object ( [numbers] => Array ( [0] => Array ( [0] => 12.75 [1] => 22.3333333333 [2] => 4.83333333333 ) ) [numColumns] => 3 [numRows] => 1 )

и

$total = $id->times($id)->sumRows()->sumTotal($id);

Это выводит это:

matrix Object ( [numbers] => Array ( [0] => Array ( [0] => 39.9166666667 ) ) [numColumns] => 3 [numRows] => 1 ) 

Теперь я пытаюсь сделать:

foreach ($soma as $value){
    $final = (int)$value/(int)$total;
    print_r ((int)$final);
}

Вывод будет 000.

Должно быть:

12.75/39.9166666667 = 0,3269230769230769 
22.3333333333 / 39.9166666667 = ...
and so on

Спасибо!

Ответы [ 2 ]

0 голосов
/ 13 октября 2011

проблема решена:

документация:

get_data($..)
0 голосов
/ 06 октября 2011

Просто некоторые идеи, не особо зная о классе matrix ...

  1. Все эти (int) с, вероятно, должны быть (float) с, так как вы, похоже, хотите получить ответ не-int.
  2. $value сам по себе является объектом, поэтому вам, вероятно, потребуется использовать $value['numbers'][0][0 or 1 or 2]. То же самое касается $total.
...