Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

-rafael-

função que retorna varios valores

Recommended Posts

ola a todos

 

tenho uma funçao que me retorna varios valores

 

atualmente passo tudo para um array e retorno esses valores com o array

 

mais pergunto

 

é melhor eu continuar com o array ou usar globals???

 


function blabla () {

  global $a, $b, $c;

  bla bla bla...

  return;
}

 

obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

por questões de performance, a chamada e o posterior uso de váriaveis globais tende a ser mais custoso. Por este motivo, recomendo retornar um vetor com os dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho uma idéia melhor, veja o exemplo:

 

Declare uma classe Retorno


class Retorno {
var $nome = "";
var $sobrenome = "";
};

 

agora na função que vai retornar os valores multiplos você faz assim:

 

function getDados(){
 $ret = new Retorno;
 $ret->nome = "João";
 $ret->sobrenome = "Santos";

return $ret;
}

 

 

agora para pegar o retorno você faz assim:

 

$pessoa = getDados();

echo "Nome: ".$pessoa->nome;
echo "Sobrenome ".$pessoa->sobrenome;

 

 

Ainda não testei aqui, as faça o teste e poste os resultados.

 

Abraços \o/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Acaico, mas da forma que você postou não ficaria confuso o code ?

 

Pois, você vai deixar uma classe avulsa ? não seria melhor já declarar o getRetorno dentro da propria classe retorno?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hi.

 

Você pode passar parâmetros como ref pra isso:

function fvox(&$x, &$y) {
   $x = 'fvox';
   $y = 'synyster';
}
fvox($x, $y);

echo '$x: ', $x, "\n\$y: ", $y, "\n";

 

Mas dependendo do que você estiver fazendo, isso pode não ser uma boa prática. Ou um array cai melhor mesmo.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.