aprender PHP logo

Em nossa última aula, falamos sobre as funções printf e sprintf, que são funções que servem para exibir ou criar uma string formatada. Hoje falaremos sobre vprintf e vsprintf, que fazem o mesmo, porém em arrays.

Para continuar seguindo este tutorial, é necessário que você entenda algumas partes do PHP, são elas:

Se você perdeu, ou ainda não tem muita experiência sobre os assuntos acima, faça-o o mais rápido possível.

Então vamos lá.

Utilizando vprintf e vsprintf em PHP

Na verdade não existe segredo nenhum em utilizar ambas as funções, você simplesmente precisa criar um formato, que pode conter um texto qualquer, e, onde quiser que apareçam os valores do array (na ordem), colocar as diretivas.

As diretivas começam com um sinal de porcentagem (%) e uma letra. Existem mais opções, das quais todas foram descritas no artigo printf e sprintf em PHP.

Veja um exemplo de utilização de vprintf:

<?php
// Array a ser formatado
$array = array(
	10,
	'gatos',
	'cama'
);

// Retorna: Existem 10 gatos sobre a cama.
vprintf('Existem %d %s sobre a %s.', $array);
?>

Perceba acima que as diretivas (%d, %s e %s) são substituídas na ordem do seu índice no array (0, 1 e 2), formando a seguinte frase:

Existem 10 gatos sobre a cama.

O mesmo pode ser atingido com vsprintf, mas a diferença aqui é que teremos que salvar o valor em uma variável, e depois exibi-la.

<?php
// Array a ser formatado
$array = array(
	10,
	'gatos',
	'cama'
);

// Salva o valor em uma variável
$frase = vsprintf('Existem %d %s sobre a %s.', $array);

// Retorna: Existem 10 gatos sobre a cama.
echo $frase;
?>

Viu como é simples?

Em caso de dúvidas, basta perguntar.