'Fatal Error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 262144 bytes) on line 3

I am getting this error in codeigniter 3. I had tried most of the things but none of them worked.

    function money_format($num = 0, $pro = 2)
    {
        %number =round((float)$num, $pro);

         if($pro == 2)
            $num = money_format("%!^2n",(float)$num);
         else
            $num = money_format("%=*!^.".$pro."n",(float)$num);
         return $num;
     )}


Solution 1:[1]

  1. Increase memory_limit in your php.ini file. If this is not resolving the issues:

2) Add this line ini_set('memory_limit', '-1'); before the line where you get the error

Solution 2:[2]

This is a recursive function without a stop condition. This will lead to an infinite loop. It'll always calls itself until there is no memory left.

If I could suggest an alternative, I would say to use the number_format function to format numbers. Its a native php function and really simple to use. Take a look at the documentation.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Mainul Hasan
Solution 2