如何获得所发生变化的百分比?
喜欢
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
这意味着该值已经在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"
}
答案 0 :(得分:2)
迭代对象数组并在值更改时跟踪。这样的事情应该做:
$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;