O PHP oferece vários métodos para imprimir expressões de string, incluindo sprintf, vsprintf e eco. Todos eles têm a mesma saída, mas existem algumas diferenças entre o uso desses métodos. O vsprintf() é usado para formatar uma string substituindo os detentores de espaço pelos valores correspondentes. É semelhante ao função printf() , mas permite que os valores sejam passados em uma matriz em vez de como argumentos únicos.
Neste guia, aprenderemos o uso da função vsprintf() no PHP.
Uso da função vsprintf () em PHP
A função vsprintf() grava a string formatada em uma variável. Os elementos são colocados em uma matriz e são inseridos passo a passo adicionando o sinal % entre os elementos. Essa função é útil quando você precisa formatar um grande número de strings no código.
Sintaxe
A seguir está a sintaxe para usar a função vsprintf() em PHP:
vsprintf ( formatar , arg_array )
Esta função recebe dois argumentos, um é o formato e o outro é arg_array . O formato é a string contendo espaços reservados a serem substituídos. o segundo é arg_array que contém os valores da matriz que serão substituídos por espaços reservados.
Os espaços reservados nas strings de formato são indicados por um sinal % com a letra que especifica o tipo de valor a ser adicionado.
espaço reservado | Tipo de dados |
---|---|
%d | inteiro |
%s | Corda |
%f | Ponto flutuante |
Observação : Os valores devem ser organizados na ordem exata em que estão presentes na matriz.
Exemplo 1
No código a seguir, o %s no vsprintf() é substituído pelos valores da matriz e armazenado na variável de string. Em seguida, o resultado é impresso no console usando a instrução echo:
$array = [ 'Manga' , 'Laranja' , 'Abacaxi' ] ;
$ string = vsprintf ( 'Eu gosto de %s, %s e %s.' , $array ) ;
eco $string ;
?>
Exemplo 2
No exemplo a seguir, temos uma string chamada format com os espaços reservados para o ID e o nome do funcionário. Temos o array com os dois valores. Os valores do array são passados como um argumento para o vsprintf() função. Esta função substitui os espaços reservados pelos valores da matriz e exibe a string formatada no console:
$valor = variedade ( 'Zainab' , 'vinte' ) ;
$formato = 'O ID do empregado de %s é %d .' ;
$saída = vsprintf ( $formato , $valor ) ;
eco $saída ;
?>
Conclusão
O função vsprintf() é a função interna do PHP que é usada para substituir espaços reservados por valores equivalentes de uma matriz. Os valores do array são inseridos no sinal de porcentagem com uma letra ou na string. Essa função é particularmente útil quando você precisa formatar um grande número de strings de maneira semelhante ou quando precisa formatar strings dinamicamente com base na entrada do usuário ou em outras variáveis.