Como retornar 2 ou mais valores em uma função PHP



Neste tutorial vamos mostrar como retornar dois ou mais valores em uma função PHP. Este recurso irá facilitar muito o desenvolvimento de sistemas PHP evitando-se a necessidade da criação de várias funções.

Função em PHP é um trecho de código que pode ser chamado de qualquer parte do código para executar uma tarefa qualquer e retornar algum valor. Ou seja, você pode chamar quantas vezes forem necessárias a função sem precisar escrever o código de novo.

Modelo padrão

Podemos definir um modelo padrão para retornar duas ou mais variáveis através de um único método PHP. Para isso, vamos utilizar um array (arranjo em português) onde criaremos uma estrutura para armazenar uma coleção de elementos identificados por uma chave (índice):

function nome($param) {
   $dados = array (
       'var 1' => '',
       'var 2' => '',
       'var 3' => '',
       'var n' => ''
   );

   $dados['var1'] = ação 1;
   $dados['var2'] = ação 2;
   $dados['var3'] = ação 3;
   $dados['varn'] = ação n;

   return $dados;
}

Observe no modelo acima que definimos as chaves (índices) do array $dados com os nomes das elementos (valores) que queremos retornar. Depois, retornamos apenas o array $dados com todos os elementos armazenados.

Exemplo de utilização

Para exemplificar melhor a utilização do modelo padrão acima, vamos criar um exemplo prático:

a) Função calcular():

Primeiro vamos definir a função calcular(). Veja que definimos os índices do array $dados e as ações para cada elemento. Finalmente, retornamos o array $dados com todos os elementos armazenados.

<?php

function calcular($x, $y) {
        $dados = array(
            'soma' => '',
            'subtracao' => '',
            'multiplicacao' => '',
            'divisao' => '',
            'exponenciacao' => ''
        );
        
        $dados['soma'] = $x + $y;
        $dados['subtracao'] = $x - $y;
        $dados['multiplicacao'] = $x * $y;
        
        if ($y == 0 ) {
            $dados['divisao'] = "Impossibilidade";
        } else {
            $dados['divisao'] = $x / $y;
        } 
        
        $dados['exponenciacao'] = pow($x, $y);  
        
        return $dados;
}

b) Formulário e resultados do exemplo

Agora vamos criar um formulário HTML para a inserção dos valores x e y. Depois, se digitados os valores para x e y, estes valores serão armazenados nas variáveis $x e $y através do PHP. Em seguida, "chamamos" a função calcular() onde passamos como parâmetros as variáveis $x e $y. Depois definimos os elementos de $resultado como sendo os elementos retornados pelo pela função. Finalmente escrevemos os valores de cada elemento do array $resultado retornado.

<h1> Matemática </h1>

<h3>Digite os valores de x e y</h3>

<form method="POST">
    Valor de x: <br />
    <input type="number" name='x' required><br /><br />
    Valor de y: <br />
    <input type="number" name='y' required>
    <br /><br />
    <input type='submit' value='Calcular'>   
</form>

<?php 

if (isset($_POST['x']) && isset($_POST['y'])) {
    $x = addslashes($_POST['x']);
    $y = addslashes($_POST['y']);   
            
    $resultado = calcular($x, $y);
 ?> 
<hr />
<h1>Resultados</h1>
<h2>Valores de x e y => x = <?php echo $x; ?> e y = <?php echo $y; ?></h2>

<h2>x + y = <?php echo $resultado['soma']; ?></h2>
<h2>x - y = <?php echo $resultado['subtracao']; ?></h2>
<h2>x * y = <?php echo $resultado['multiplicacao']; ?></h2>
<h2>x / y = <?php echo $resultado['divisao']; ?></h2>
<h2>x ^ y = <?php echo $resultado['exponenciacao']; ?></h2>
    
<?php
}

Veja como fica nosso exemplo completo:

a) valores x = 25 e y = 5

b) valores x = 25 e y = 0

Documentação Oficial

1. [array()] » Função array().

2. [Funções PHP] » Manual sobre funções PHP.

O anúncio abaixo ajuda manter o Portal Visual Dicas

Comentários

×

Infomações do site / SEO