Formate o número para N dígitos significativos em PHP

Gostaria de formatar números (redondos) flutuantes (duplos), digamos 2 dígitos significativos, por exemplo:

1        => 1
11       => 11
111      => 110
119      => 120
0.11     => 0.11
0.00011  => 0.00011
0.000111 => 0.00011

Portanto, a precisão arbitrária permanece a mesma

Espero que exista alguma função interessante, pois ela já foi incorporada, mas não foi possível encontrar nenhuma até agora

Fui apontado paraComo arredondar para baixo para o valor mais próximo significativo em php, que está próximo, mas não funciona para N dígitos significativos e não sei o que ele faz com os números 0.000XXX