Ir para conteúdo

Arquivado

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

gandarez

com vetor[]

Recommended Posts

Galera usarei o código abaixo como exemplo:

$s[] = "";$s[0] = 'INFO 1';atribuir();function atribuir (){$s[1] = 'INFO2';}for ($i = 0; $i = 1; $i++){   echo $s[$i];}

Galera a variavel $s vai receber os valores quando eu chamei a função ?

 

O resultado disso seria INFO1INFO2 mesmo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu resultado não vai aparecer nada. testei aqui e nem erro ele deu. trava o script por causa do seu for, mas não entendi o porque.

 

Eu sei que de qualquer forma seu script mesmo, sem o form, não vai retornar o info 2.

isso porque sua função não retorna valor para ele.

engraçado que eu tentei fazer seu script funcionar declarando $s como global mas tbm num rola, estranho.

 

Bom, mas fazendo assim dá:

function atribuir(){return "info2";}$s[1] = atribuir();

Bom, não consegui fazer funcionar sem o retorno da variável pela função, apesar de ter quase certeza de que isso funciona. Não sei porque não funcionou no meu pc.

 

Bom, mas qlqer coisa posta ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não vai modificar nada mesmo...

Só vai modificar se você fizer do modo que charles disse, ou, se passar a variavel por referencia, tipo:

 

function atribuir (&$var){$var = 'INFO2';}atribuir($s['1']);

Dessa forma você consegue modificar ela sem precisar colocar um "return".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu resultado não vai aparecer nada. testei aqui e nem erro ele deu. trava o script por causa do seu for, mas não entendi o porque.

De fato meu querido Charles, e eu dei um exemplo simples demais, o que eu to mechendo aqui é muito mais complexo, acho que vou usar a forma ao qual você disse, com o Return e ver no que dá, vou testar e depois posto aqui!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ainda usando

function atribuir (&$var){$var = 'INFO2';}atribuir($s['1']);
nao vai da certo pq a variavel que vai atribuir nao vai sair pra fora da função.. intao tem duas formas.. ou torna ela global ou (amelhor delas) eh fazer um return...

 

tpw assim

function atribuir (&$var){$var = 'INFO2';return $var;}$resultado = atribuir($s['1']);

mas ainda nao intendo o pq de atribuir por uma função, issu eh inutil, existem tantas otras coisas pra se usar em funções o0....

 

mas eh issu.. t+..

 

spero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim num dá certo???

Ele vai atribuir diretamente na variável de fora, passada como argumento na função...

 

Faz esse teste:

 

<?php//cria a variavel$teste1 = 'Frase original';//funcao que faz a troca do conteudo da variavel, repare no operador &, //que indica que a variavel vai ser passada por referenciafunction atribuir (&$var){	$var = 'Frase modificada';}//chamando a funcao utilizando a var la de cimaatribuir($teste1);//aqui devera sair 'Frase modificada'echo($teste1);?>

Mas, logicamente, tudo depende da situação, estou mostrando as opções, a escolha fica ao cargo de cada um. ;)

 

falou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Felipe se for com um vetor como voce faria ?

assim :

<?php//cria a variavel$s[0] = 'Frase1';function atribuir (&$s){	$s[1] = 'Frase2';}atribuir($s[]);echo($s[0]);echo($s[1]);?>
O que esta ai funciona ? o resultado vai ser "Frase1Frase2" ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu fiz um teste e dessa maneira que você mostrou não dá certo, ao invés de ele adicionar o valor, ele cria um novo objeto de Array e então dentro desse novo array ele poe o valor, então para acessar o conteudo você teria que fazer:

 

<?php//cria a variavel$s[0] = 'Frase1';function atribuir (&$s){	$s[1] = 'Frase2';}atribuir($s[]);echo($s[0]);echo($s[1][1]);?>

Para funcionar corretamente tem que fazer dessa maneira:

 

<?php//cria a variavel$s[0] = 'Frase1';function atribuir (&$s){	$s[1] = 'Frase2';}//Somente tirei os colchetesatribuir($s);echo($s[0]);echo($s[1]);?>

Entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

há um erro na sintaxe da instrução FOR()

 

o erro está no segundo parâmetro da instrução

 

for ($i = 0; $i = 1; $i++){

modo correto:

 

for ($i = 0; $i == 1; $i++){

 

quanto a atribuição de valor ao vetor, o índice 1 não será visível fora do escopo da função.

 

há uma instrução especial para que isso se torne possível.

 

consulte o manual:

 

php.net/functions

 

 

 

desculpe pela pressa, (não li os outrs posts)

Compartilhar este post


Link para o post
Compartilhar em outros sites

há um erro na sintaxe da instrução FOR()

 

o erro está no segundo parâmetro da instrução

 

for ($i = 0; $i = 1; $i++){

modo correto:

 

for ($i = 0; $i == 1; $i++){

Hinom com certeza, vacilo meu, afinal em muitas outras linguaguens não é assim, com certeza tem que ser "==" pois apenas o "=" é para atribuição e o "==" para comparação, valeu!

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.