neo_soro Postado Junho 17, 2009 Denunciar Share Postado Junho 17, 2009 Falem p*,eu crirei um simples função para que não precise ficar toda hora printando as variáves escrevendo: print "<pre>";print_r($var);print "</pre>"; A função é essa: function printvar($var){ $print = print"<pre style='border: 1px solid #000; background: #BF7E17; color: #fff; font-size: 10px;'>"; $print .= print_r($var); $print .= print"</pre>"; } Essa função, quando usamos o Eclipse, ou Zend e é colocada no fim de uma classe que é incluida em todos os arquivos dá impressão que é uma função do programa mesmo. Fica muito interessante. Tipo: class Fachada{ //functions, etc } function printvar($var){ $print = print"<pre style='border: 1px solid #000; background: #BF7E17; color: #fff; font-size: 10px;'>"; $print .= print_r($var); $print .= print"</pre>"; } Certo até aí tudo bem, mas o que eu queria era poder passar mais de uma variável para função. Ex: $x = "Recebe um"; $y = "Recebe dois"; printvar($x, $y); Mesmo que ela receba apenas um parâmetro. function printvar($var){ Será que alguém poderia me ajudar? Agradeço desde já.[]'sRodrigo Nascimento Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Junho 17, 2009 Denunciar Share Postado Junho 17, 2009 i aew neo_soro, já tentou tipo assim:function printvar($var , $var2 = null ){ $print = print"<pre style='border: 1px solid #000; background: #BF7E17; color: #fff; font-size: 10px;'>"; $print .= print_r($var); $print .= print"</pre>"; }ai você pode checar se $var2 é nula e fazer as condiçoes!espero que ajude abraço; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 neo_soro Postado Junho 17, 2009 Autor Denunciar Share Postado Junho 17, 2009 i aew neo_soro, já tentou tipo assim:function printvar($var , $var2 = null ){ $print = print"<pre style='border: 1px solid #000; background: #BF7E17; color: #fff; font-size: 10px;'>"; $print .= print_r($var); $print .= print"</pre>"; }ai você pode checar se $var2 é nula e fazer as condiçoes!espero que ajude abraço;Fale Romerito, cara nõ entendi bem o que você quiz dizer. Tipo no caso não seria uma ou duas saca? poderiam ser quantas eu quisesse. []'s valeu Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Junho 17, 2009 Denunciar Share Postado Junho 17, 2009 (editado) i aew neo_soro, bom você tem que declarar o numero de argumentos na função, na chamada dela não necessariamentevocê precisa passar todos os parametros, pegando como exemplo aquela sua função:function printvar($var , $var2 = null ){/*aqui $var2 é setado com valor padrão nulo, portanto caso você não especifique o segudo parametro ele sera setado como nulo e será opcional*/ $print = print"<pre style='border: 1px solid #000; background: #BF7E17; color: #fff; font-size: 10px;'>"; $print .= ( $var2 ) ? print_r( $var . $var2 ) : print_r( $var );/*se $var2 não for nula vai receber o print_r de $var1 concatenado de $var2, senão receb o print_r apenas de $var*/ $print .= print"</pre>"; }o segundo parametro da função é opcional, você não precisa passar nada pra ele saca?e dentro da função você pode fazer algumas checagens igual eu está no exemplo! Editado Junho 17, 2009 por Romerito Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 neo_soro Postado Junho 17, 2009 Autor Denunciar Share Postado Junho 17, 2009 i aew neo_soro, bom você tem que declarar o numero de argumentos na função, na chamada dela não necessariamentevocê precisa passar todos os parametros, pegando como exemplo aquela sua função:function printvar($var , $var2 = null ){/*aqui $var2 é setado com valor padrão nulo, portanto caso você não especifique o segudo parametro ele sera setado como nulo e será opcional*/ $print = print"<pre style='border: 1px solid #000; background: #BF7E17; color: #fff; font-size: 10px;'>"; $print .= ( $var2 ) ? print_r( $var . $var2 ) : print_r( $var );/*se $var2 não for nula vai receber o print_r de $var1 concatenado de $var2, senão receb o print_r apenas de $var*/ $print .= print"</pre>"; } o segundo parametro da função é opcional, você não precisa passar nada pra ele saca? e dentro da função você pode fazer algumas checagens igual eu está no exemplo! Pods crer cara. Isso eu tinha entendido. =) Na verdade o que acontece é o seguinte. No início da função function printvar($var) Eu gostaria que o prâmetro tivesse um comportamente de um array, saca? Para que depois eu pudesse printar quantas variáveis eu tivesse passado como parâmetro, tipo: $var = array(); function printvar($var){ for($i = 0; $i <count($var); $i++){ $print = print"<pre style='border: 1px solid #000; background: #BF7E17; color: #fff; font-size: 10px;'>"; $print .= print_r($var[$i]); $print .= print"</pre>"; } } $var = 'Um'; $var2 = 'Dois'; $var3 = 'Três'; printvar($var, $var2, $var3);Esse exemplo é fictício, porque eu já testei e não funcionou! =P Mas é por aí que eu queria fazer... Mas de qualquer forma obrigado pela ajuda até agora.[]'s Rodrigo Nascimento Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Junho 17, 2009 Denunciar Share Postado Junho 17, 2009 (editado) para isso existe a função func_get_args, ela te retorna como array os argumentos da função!EDIANTANDObom acho que entende o que tu quer, tenta assim:function printvar( $var ) { $print = ""; foreach( $var as $value ) { $print .= print "<pre style='border: 1px solid #000; background: #BF7E17; color: #fff; font-size: 10px;'>"; $print .= print_r( $value ); $print .= print "</pre>"; } return $print; } $array = array( 1 , 2 , 3 ); echo printvar( $array ); Editado Junho 17, 2009 por Romerito Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 neo_soro Postado Junho 17, 2009 Autor Denunciar Share Postado Junho 17, 2009 para isso existe a função func_get_args, ela te retorna como array os argumentos da função!EDIANTANDObom acho que entende o que tu quer, tenta assim:function printvar( $var ) { $print = ""; foreach( $var as $value ) { $print .= print "<pre style='border: 1px solid #000; background: #BF7E17; color: #fff; font-size: 10px;'>"; $print .= print_r( $value ); $print .= print "</pre>"; } return $print; } $array = array( 1 , 2 , 3 ); echo printvar( $array ); Fala Romerito, com aquela função func_get_args eu consegui resolver ficou assim: function printvar($var){ $arglist = func_get_args(); for($i = 0; $i<count($arglist); $i++){ $print = print"<pre style='border: 1px solid #000; background: #BF7E17; color: #fff; font-size: 10px;'>"; $print .= print_r($arglist[$i]); $print .= print"</pre>"; } return $print; }Muito simples!!! cara valeu, obrigado mesmo. espero que fique aí para outros que também achem um saco ficar printando as variáveis e ficar escrevendo um montão pra isso UHAUHauHAU. []'s Rodrigo Nascimento Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Junho 17, 2009 Denunciar Share Postado Junho 17, 2009 Se quiser você também pode remover o argumento da função, já que você está obtendo os argumentos dinamicamente Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
neo_soro
Falem p*,
eu crirei um simples função para que não precise ficar toda hora printando as variáves escrevendo:
A função é essa: Essa função, quando usamos o Eclipse, ou Zend e é colocada no fim de uma classe que é incluida em todos os arquivos dá impressão que é uma função do programa mesmo. Fica muito interessante. Tipo: Certo até aí tudo bem, mas o que eu queria era poder passar mais de uma variável para função. Ex: Mesmo que ela receba apenas um parâmetro.Será que alguém poderia me ajudar? Agradeço desde já.
[]'s
Rodrigo Nascimento
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.