Home » Math » Math_Stats » Bug #3315
frequency() generates notices
Details
| Submitted | 2005-01-27 18:41 UTC |
|---|---|
| From | cmoehrke at netviser dot de |
| Assigned | jmcastagnetto |
| Status | Closed |
| Package | Math_Stats |
| PHP Version | 5.0.3 |
| OS | Linux |
| Roadmaps | (Not assigned) |
Comments
[2005-01-27 18:41 UTC] cmoehrke at netviser dot de
Description:
------------
Using frequency() results in an number of notices.
Reproduce code:
---------------
require_once('Math/Stats.php');
$dat = array (1,3,4,2,2,1,3,3,1,3);
$stat=new Math_Stats();
$erg=$stat->setData($dat);
if (true==PEAR::isError($erg))
{
die ($erg->getMessage());
}
$erg=$stat->frequency();
if (true==PEAR::isError($erg))
{
die ($erg->getMessage());
}
var_dump($erg);
Expected result:
----------------
array(4) { [1]=> int(3) [2]=> int(2) [3]=> int(4) [4]=> int(1) }
Actual result:
--------------
Notice: Undefined index: 1 in /usr/local/php/pear/Math/Stats.php on line 1216
Notice: Undefined index: 2 in /usr/local/php/pear/Math/Stats.php on line 1216
Notice: Undefined index: 3 in /usr/local/php/pear/Math/Stats.php on line 1216
Notice: Undefined index: 4 in /usr/local/php/pear/Math/Stats.php on line 1216
array(4) { [1]=> int(3) [2]=> int(2) [3]=> int(4) [4]=> int(1) }
[2005-01-27 18:48 UTC] cmoehrke at netviser dot de
Here's a little fix for it.
Line 1216 is actually:
$freq["$val"]++;
to fix this bug it could be changed to:
isset($freq["$val"])? $freq["$val"]++:$freq["$val"]=1;