# Get Percentage Of A Number With PHP

4th June 2008 - 2 minutes read time

Use the following function to find the percentage value of one number to another. If the \$total parameter is zero then zero is returned as this would otherwise result in a division by zero error.

``````function get_percentage(\$total, \$number)
{
if ( \$total > 0 ) {
return round((\$number * 100) / \$total, 2);
} else {
return 0;
}
}``````

Here are some examples of the function in action.

``````echo get_percentage(100,50).'%'; // 50%
echo get_percentage(100,10).'%'; // 10%
echo get_percentage(100,100).'%'; // 100%
echo get_percentage(400,3).'%'; // 0.75%
echo get_percentage(1234,4321).'%'; // 350.16%``````

That percentage script saved my arse. You rule.

Ben Althauser (Mon, 04/13/2009 - 23:18)

hi . i'm from iran I was a long time in search for the this formula thanks for this formula , administrator :)

Amir (Sun, 10/16/2016 - 01:13)

thanks for share..

vipjatt (Thu, 06/01/2017 - 03:19)

Thanks

kvanacht (Tue, 01/23/2018 - 05:49)

I just had to swap \$total and 100 over for my purposes, i.e returning 100/200 as 50%.

Tim (Wed, 03/03/2021 - 15:23)

Hello Philip, that formula does not generate the correct %, then I write the correct one: (number * 100) / total:

/*

return round((\$number * 100) / \$total, 2);

*/

Rafa G (Thu, 07/22/2021 - 15:53)

Quite right. It must have been right at some point but it's clearly been wrong for a while.

Thanks for the correction! I've updated the code.

Really liked this post, thanks!

DanielFlupt (Thu, 07/29/2021 - 15:21)

Hi,

Lovely Script.

But I am looking for one that takes a value, EG Dollars, and multiples it by 11% and gives an answer. Any help?

Michael C Hutchinson (Fri, 01/28/2022 - 05:24)

``````function multiply_by_percentage(\$number, \$percent) {