2010-06-02 5 views
0

j'ai un tableau qui ressemble à cela,additionnant la valeur du tableau et obtenir la moyenne

[4] => Common_Model Object 
    (
     [id] => 4 
     [name] => 
     [date_created] => 
     [last_updated] => 
     [user_id_updated] => 
     [_table] => 
     [_aliases] => Array 
      (
       [id] => 4 
       [name] => 
       [date_created] => 
       [date_updated] => 
       [user_id_updated] => 
       [rating] => 3 
       [recipe_id] => 5 
      ) 

     [_nonDBAliases] => Array 
      (
      ) 

     [_default] => Array 
      (
      ) 

     [_related] => Array 
      (
      ) 

     [_enums] => 
     [_alsoDelete] => Array 
      (
      ) 

     [_readOnly] => Array 
      (
       [0] => date_updated 
      ) 

     [_valArgs] => Array 
      (
      ) 

     [_valArgsHash] => Array 
      (
       [default] => Array 
        (
        ) 

      ) 

     [_valAliases] => Array 
      (
      ) 

     [_extraData] => Array 
      (
      ) 

     [_inputs] => Array 
      (
      ) 

     [_tableName] => jm_ratings 
     [_tablePrefix] => 
     [_niceDateUpdated] => 1st Jan 70 
     [_niceDateCreated] => 1st Jan 70 
     [_fetchAdminData] => 
     [_mCache] => 
     [_assets] => Array 
      (
      ) 

    ) 

[3] => Common_Model Object 
    (
     [id] => 3 
     [name] => 
     [date_created] => 
     [last_updated] => 
     [user_id_updated] => 
     [_table] => 
     [_aliases] => Array 
      (
       [id] => 3 
       [name] => 
       [date_created] => 
       [date_updated] => 
       [user_id_updated] => 
       [rating] => 1 
       [recipe_id] => 5 
      ) 

     [_nonDBAliases] => Array 
      (
      ) 

     [_default] => Array 
      (
      ) 

     [_related] => Array 
      (
      ) 

     [_enums] => 
     [_alsoDelete] => Array 
      (
      ) 

     [_readOnly] => Array 
      (
       [0] => date_updated 
      ) 

     [_valArgs] => Array 
      (
      ) 

     [_valArgsHash] => Array 
      (
       [default] => Array 
        (
        ) 

      ) 

     [_valAliases] => Array 
      (
      ) 

     [_extraData] => Array 
      (
      ) 

     [_inputs] => Array 
      (
      ) 

     [_tableName] => jm_ratings 
     [_tablePrefix] => 
     [_niceDateUpdated] => 1st Jan 70 
     [_niceDateCreated] => 1st Jan 70 
     [_fetchAdminData] => 
     [_mCache] => 
     [_assets] => Array 
      (
      ) 

    ) 

[2] => Common_Model Object 
    (
     [id] => 2 
     [name] => 
     [date_created] => 
     [last_updated] => 
     [user_id_updated] => 
     [_table] => 
     [_aliases] => Array 
      (
       [id] => 2 
       [name] => 
       [date_created] => 
       [date_updated] => 
       [user_id_updated] => 
       [rating] => 1 
       [recipe_id] => 5 
      ) 

     [_nonDBAliases] => Array 
      (
      ) 

     [_default] => Array 
      (
      ) 

     [_related] => Array 
      (
      ) 

     [_enums] => 
     [_alsoDelete] => Array 
      (
      ) 

     [_readOnly] => Array 
      (
       [0] => date_updated 
      ) 

     [_valArgs] => Array 
      (
      ) 

     [_valArgsHash] => Array 
      (
       [default] => Array 
        (
        ) 

      ) 

     [_valAliases] => Array 
      (
      ) 

     [_extraData] => Array 
      (
      ) 

     [_inputs] => Array 
      (
      ) 

     [_tableName] => jm_ratings 
     [_tablePrefix] => 
     [_niceDateUpdated] => 1st Jan 70 
     [_niceDateCreated] => 1st Jan 70 
     [_fetchAdminData] => 
     [_mCache] => 
     [_assets] => Array 
      (
      ) 

    ) 

Je vouloir ajouter le [rating] et obtenir la moyenne moyenne. Mais je ne sais pas comment faire avec PHP, ma tentative ressemble à ceci,

<?php 
    foreach ($rt as $rating) { 
      $total = $rating->rating + $rating->rating 
    } 
$total/count($rt); 
?> 

Répondre

1

Essayez ceci:

$total = 0; 
foreach($rt as $elem) { 
    $total += $elem->_aliases['rating']; 
} 
echo sprintf("Average: %d", $total/count($rt)); 
+0

Ceci est un objet, vous auriez à accéder à la propriété par _aliases $ elem -> _ alias, étant donné que c'est une propriété publique. –

+0

Vous avez raison, merci de le remarquer. – halfdan

1
<?php 
    $total = 0; 
    foreach ($rt as $obj) { 
     $total += $obj->_aliases['rating']; 
    } 
    print $total/count($rt); 
?>