Получение процента изменений - PullRequest
0 голосов
/ 27 октября 2009

Как я могу получить процент изменений, которые произошли?

Как

 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

Это будет означать, что значение изменилось 1 раз в 4 объектах. Это привело бы к проценту 25%.

У меня вопрос: как мне это сделать на PHP?

У меня есть подобные объекты.

  [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"
  }

1 Ответ

2 голосов
/ 27 октября 2009

Перебор массива объектов и отслеживание изменения значения. Примерно так должно поступить:

$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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...