# PHP | stats_dens_pmf_negative_binomial() Function

Hello folks! welcome back to a new edition of our tutorial on PHP. In this tutorial guide, we are going to be discussing briefly about the php stats_dens_pmf_negative_binomial() function.

The stats_dens_pmf_negative_binomial() function is a probability mass function of the negative binomial distribution.

## Syntax

Following below is the syntax to use this function -

`float stats_dens_pmf_negative_binomial( float \$x, float \$n, float \$pi )`

## Parameter Details

Sr.NoParameterDescription
1

x

The value at which the probability mass is calculated

2

n

The number of the success of the distribution

3

pi

The success rate of the distribution

## Return Value

This built-in function returns the probability mass at x, where the random variable can follow the negative binomial distribution of which the number of success and success rate are n and pi respectively, else it returns false on failure.

## Dependencies

This built-in function was first introduced in statistics extension (PHP version 4.0.0 and PEAR v1.4.0). In this tutorial guide, we used the latest release of stats-2.0.3 (PHP v7.0.0 or newer and PEAR version 1.4.0 or newer).

### Example1

The following example below computes the probability mass for each x -

```<?php
// check for each x
foreach (range(0, 3) as \$x) {
var_dump(stats_dens_pmf_negative_binomial(\$x, 2, 0.4));
echo "<br>";
}
?>```

#### Output

When the above code is executed, it will produce the following result -

```float(0.16)
float(0.192)
float(0.1728)
float(0.13824)```

### Example2

The following example below computes the probability mass for each n -

```<?php
// check for each n
foreach (range(0, 3) as \$n) {
var_dump(stats_dens_pmf_negative_binomial(1, \$n, 0.4));
echo "<br>";
}
?>```

#### Output

When the above code is executed, it will produce the following output -

```float(0)
float(0.24)
float(0.192)
float(0.1152)```

### Example3

The following example below computes the probability mass for each pi -

```<?php
// check for each pi
foreach (range(0, 1, 0.2) as \$pi) {
var_dump(stats_dens_pmf_negative_binomial(1, 2, \$pi));
echo "<br>";
}
?>```

#### Output

When the above code is executed, it will produce the following output -

```float(0)
float(0.064)
float(0.192)
float(0.288)
float(0.256)
float(0)```

### Example4

The following below is an error case. In the following example, we passed n == 0 and pi == 0. A warning is shown in logs -

```<?php
// error cases
var_dump(stats_dens_pmf_negative_binomial(1, 0, 0));    // n == 0 and pi == 0
?>```

#### Output

The above code will produce the following result and a warning in logs PHP Warning: stats_dens_pmf_negative_binomial(): Param leading to pow(0, 0). x: 1.000000E+0 n: 0.000000E+0 pi: 0.000000E+0

`bool(false)`

### Example5

The following below is an error case. In the following example, we passed x == 0 and pi == 1. A warning is shown in logs -

```<?php
// error cases
var_dump(stats_dens_pmf_negative_binomial(0, 2, 1));    // x == 0 and pi == 1
?>```

#### Output

The above code will produce the following result and a warning in logs PHP Warning: stats_dens_pmf_negative_binomial(): Param leading to pow(0, 0). x: 0.000000E+0 n: 2.000000E+0 pi: 1.000000E+0

`bool(false)`

Alright guys! This is where we are going to be rounding up for this tutorial post. In our next tutorial, we are going to be discussing about the built-in stats_dens_pmf_poisson() Function in PHP.

Feel free to ask your questions where necessary and we will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.

Follow us on our various social media platforms to stay updated with our latest tutorials. You can also subscribe to our newsletter in order to get our tutorials delivered directly to your emails.

Thanks for reading and bye for now.