PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

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;