2014-11-08 2 views
1

I (45)이 - 다음과 같은 데이터로 컬에서 표준 PHP 배열 문자열 형식으로 JSON 반환 값을 직렬화하는 50 배열 대핬 :의페소 변수 행이 순간을 계산하는 방법

Array 
(
    [0] => 0.00634000 
    [1] => 20.54182841 
) 
Array 
(
    [0] => 0.00637479 
    [1] => 31.21047749 
) 
Array 
(
    [0] => 0.00637480 
    [1] => 2.23450852 
) 
.... 

위해서 var_dump를 데이터 var_dump

는 I는 FO 가정

((1 * 0.00634000 * 20.54182841) + (2 * 0.00637479 * 31.21047749) + (3 * 0.00637480 * 2.23450852))/((0.00634000 * 20.54182841) + (0.00637479 * 31.21047749) + (0.00637480 * 2.23450852)) 
.... 

(.. 증분 1,2,3 주) 반환 데이터에 대해 다음의 수학 계산을 수행 할 필요 llowing 3 배열 요소

다음

0.5708893064562422/0.3434399768311731 

array moments = 1.662268067112285 
array length = 3 

0.1302351921194 + 0.3979204795969542 + 0.042733634739888/0.1302351921194 + 0.1989602397984771 + 0.014244544913296 

당신이 얼마나 많은 행이 배열에있을 것입니다 무엇을 모르는 경우 PHP에서이를 설정하는 적절한 방법이 될 것입니다?

+2

돌아 오는 배열의 배열입니까? – slapyo

+0

예, 배열 배열 – brad

+0

왜 배열에 얼마나 많은 행이 있는지 알아야합니까? 'count ($ array)'와'foreach'는 그것을 처리합니다. – Barmar

답변

1

간단히 foreach()을 사용하십시오. 예 :

$var1 = 0; $var2 = 0; $count = 0; 
foreach($arr as $k=>$v){ 
    if(is_numeric($v[0]) && is_numeric($v[1])){ 
     $var2 += $v[0] * $v[1]; 
     $var1 += $var2 * ($k + 1); 
     $count++; 
    } 
} 
$result = $var1/$var2; 
echo 'Result: ' . $result . '<br /> Count: ' . $count; 
+1

'$ k + 1' 주변에는 괄호가 필요합니다. – Barmar

+0

알림 : 초기화되지 않은 문자열 오프셋 :이 줄을 참조하는 12 행의 /home/coinz/cryptsy/getDepth.php에서 1 -> $ var2 + = $ v [0] * $ v [1]; – brad

+0

데이터 문제라고 생각합니다. 1 초 – brad