Como posso criar uma pirâmide usando o php?

Eu preciso criar uma pirâmide usando asteriscos. Eu especifico um valor que se torna a base da pirâmide. A base contém tanto asteriscos quanto o valor especificado e a pirâmide deve pular suas linhas por 1.Aqui eu estou enfrentando um problema quando especifico um número par de base ..

A pirâmide deve ter a aparência abaixo.

    * 
   *** 
  ***** 
 ******* 
********* 
********** 

estou obtendo

####* 
###*** 
##***** 
###***** 
####***** 
********** 

Eu quero substituir o # por algum espaço em branco e estou recebendo o bug que o número de asteriscos na quarta linha diminuiu .. Como faço para corrigir esses dois bugs?

function create_pyramid($limit){

     if ($limit > 0){
        for ($row =0;$row<=$limit;$row++){
            if (($row % 2 == 0) && ($row != $limit)){ continue;}
            $rows = "";
            for ($col =0;$col<$row;$col++){
                $rows= $rows.'*';
            }
            $pattern = "%'#".((($limit - $row)/2)+$row)."s\n";
            printf ($pattern,$rows);
            print '<br />';
        }
        }
        else{
            print "Invalid data";
        }
     }

     create_pyramid(10);

questionAnswers(13)

yourAnswerToTheQuestion