¿Cómo puedo crear una pirámide a partir del uso de php?

Necesito crear una pirámide usando asteriscos. Especifico un valor que se convierte en la base de la pirámide. La base contiene tantos asteriscos como el valor especificado y la pirámide debe omitir sus filas en 1. Aquí me enfrento a un problema cuando especifico un número par de bases.

La pirámide debe parecerse a la de abajo.

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

estoy obteniendo

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

Quiero reemplazar el # por algún espacio en blanco y recibo el error de que el número de asteriscos en la 4ª fila ha disminuido. ¿Cómo soluciono estos dos errores?

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);

Respuestas a la pregunta(13)

Su respuesta a la pregunta