2009-10-27 3 views
0

Comment puis-je obtenir le pourcentage des changements qui se sont produits?Tirer le pourcentage des changements

Comme

1. date 1343360810  objectId 1628 
    field 10 value 3 
1. date 1242360811  objectId 1628 
    field 10 value 5 
1. date 1243364812  objectId 1628 
    field 10 value 5 
1. date 1240360814  objectId 1628 
    field 10 value 5 

Cela signifierait la valeur a changé ben 1 fois en 4 objets. Cela entraînerait un pourcentage de 25%.

Ma question est de savoir comment puis-je faire en PHP.

j'avoir des objets comme celui-ci un.

[69]=> 
    object(stdClass)#92 (6) { 
    ["id"]=> 
    string(7) "1824709" 
    ["objectId"]=> 
    string(4) "1628" 
    ["type"]=> 
    string(1) "0" 
    ["field"]=> 
    string(2) "10" 
    ["value"]=> 
    string(1) "3" 
    ["date"]=> 
    string(10) "1243360814" 
    } 

[70]=> 
    object(stdClass)#93 (6) { 
    ["id"]=> 
    string(7) "1826225" 
    ["objectId"]=> 
    string(4) "1628" 
    ["type"]=> 
    string(1) "0" 
    ["field"]=> 
    string(2) "10" 
    ["value"]=> 
    string(1) "0" 
    ["date"]=> 
    string(10) "1243360814" 
    } 
+0

Pouvez-vous s'il vous plaît formater la question un peu? Avez-vous besoin de faire cela avec PHP ou récupérez-vous les informations de la base de données? –

+0

Je le récupère de DB. Oui, j'ai besoin de faire cela en PHP – streetparade

+0

Boucle dans votre compte de données chaque fois que les dernières valeurs ne sont pas égales à la valeur actuelle. Après que vous l'avez eu: changements/compte * 100. – jantimon

Répondre

2

Itérez le tableau d'objets et effectuez le suivi lorsque la valeur change. Quelque chose comme ceci devrait faire:

$oldvalue = false; // This is to exclude the first value from registering as a change 
$changes = 0; 
foreach($object_array as $obj) { 
    if($oldvalue !== false && $obj->value != $oldvalue) 
    $changes++; 
    $oldvalue = $obj->value; 
} 
$change_percentage = $changes/count($object_array) * 100; 
+0

Où obtenez-vous $ change_percentage = $ changes/count ($ objects) * 100; $ objets? ou est-ce $ object_array ou $ obj? – streetparade

+0

D'où obtenez-vous des objets? – streetparade

+0

Dans cet exemple object_array de $ a été initialement nommé objets $, je rebaptisèrent pour plus de clarté mais il a oublié de changer la dernière ligne. Fixe, merci pour les heads up! – Kaivosukeltaja

Questions connexes