两个多维数组之间的计算

时间:2011-10-06 01:30:43

标签: php arrays matrix

我有这段代码:

$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 :(得分:0)

只是一些想法,对matrix类没有太多了解......

  1. 所有这些(int)应该是(float) s,因为您似乎想要一个非int答案。
  2. $value本身就是一个对象,因此您可能需要使用$value['numbers'][0][0 or 1 or 2]。同样适用于$total

答案 1 :(得分:0)

问题解决了:

文档:

get_data($..)