PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Math » Math_Stats » Bug #3315

frequency() generates notices

Details

Submitted2005-01-27 18:41 UTC
Fromcmoehrke at netviser dot de
Assignedjmcastagnetto
StatusClosed
PackageMath_Stats
PHP Version5.0.3
OSLinux
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;