PHPCon Poland 2024


(PECL stats >= 1.0.0)

stats_cdf_binomialCalculates any one parameter of the binomial distribution given values for the others


    float $par1,
    float $par2,
    float $par3,
    int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the binomial distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, n, and p denotes cumulative distribution function, the number of successes, the number of trials, and the success rate for each trial, respectively.

Return value and parameters
which Return value par1 par2 par3
1 CDF x n p
2 x CDF n p
3 n x CDF p
4 p x CDF n



The first parameter


The second parameter


The third parameter


The flag to determine what to be calculated

Valor Retornado

Returns CDF, x, n, or p, determined by which.

add a note

User Contributed Notes 1 note

8 years ago
Calculates any one parameter of the binomial
distribution given values for the others.


WHICH --> Integer indicating which of the next four argument
values is to be calculated from the others.
Legal range: 1..4
iwhich = 1 : Calculate P and Q from S,XN,PR and OMPR
iwhich = 2 : Calculate S from P,Q,XN,PR and OMPR
iwhich = 3 : Calculate XN from P,Q,S,PR and OMPR
iwhich = 4 : Calculate PR and OMPR from P,Q,S and XN

P <--> The cumulation from 0 to S of the binomial distribution.
(Probablility of S or fewer successes in XN trials each
with probability of success PR.)
Input range: [0,1].

Q <--> 1-P.
Input range: [0, 1].
P + Q = 1.0.

S <--> The number of successes observed.
Input range: [0, XN]
Search range: [0, XN]

XN <--> The number of binomial trials.
Input range: (0, +infinity).
Search range: [1E-100, 1E100]

PR <--> The probability of success in each binomial trial.
Input range: [0,1].
Search range: [0,1]

OMPR <--> 1-PR
Input range: [0,1].
Search range: [0,1]
PR + OMPR = 1.0

STATUS <-- 0 if calculation completed correctly
-I if input parameter number I is out of range
1 if answer appears to be lower than lowest
search bound
2 if answer appears to be higher than greatest
search bound
3 if P + Q .ne. 1
4 if PR + OMPR .ne. 1

BOUND <-- Undefined if STATUS is 0

Bound exceeded by parameter number I if STATUS
is negative.

Lower search bound if STATUS is 1.

Upper search bound if STATUS is 2.
To Top