Ir para conteúdo
TeixeiraRamos

[Resolvido] Parse error: syntax error, unexpected ')' comando for

Recommended Posts

Não tenho resultado satisfatório.

Citar

Segundo um autor "Apesar de não ser muito comum, podemos inicializar mais de uma variável no parâmetro de inicialização do comando for, e também podemos ter mais de um operador no no terceiro parâmetro. Para isso, basta utilizarmos a vírgula.

Só que aqui não mostra esse resultado:

<?php 
	for( $i=0, $k=10 ; $i<10 ; $i++, $k- )
	{
		echo "\$i vale $i e \$k vale $k";
		if ($i==$k)
			{ echo " (os valores são iguais!)"; }
	    echo "<br>";
	}
?>

Deveria ter o resultado:

Citar

$i vale 0 e $k vale 10

$i vale 1 e $k vale 9

$i vale 2 e $k vale 8

.

.

$i vale 9 e $k vale 1

 

Mostra esse resultado:

Citar

Parse error: syntax error, unexpected ')' in C:\wamp\www\prog8.php on line 2

 

A linha 2 é essa:

Citar

for( $i=0, $k=10 ; $i<10 ; $i++, $k- )

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

Não sei dizer...
mas segundo o manual do php, são apenas três expressões. veja:
http://php.net/manual/pt_BR/control-structures.for.php

 

scary.png.8ff94004fb64d71e42463830e729d0e1.png

for ($i = 1, $a=2; $i <=10, $a<=20;  $i++, $a++) {
    echo 'i: '.$i.'<br>';
    echo 'a: '.$a.'<br>';
}
Num é que esse trem funciona mesmo???


i: 1
a: 2
i: 2
a: 3
i: 3
a: 4
i: 4
a: 5
i: 5
a: 6
i: 6
a: 7
i: 7
a: 8
i: 8
a: 9
i: 9
a: 10
i: 10
a: 11
i: 11
a: 12
i: 12
a: 13
i: 13
a: 14
i: 14
a: 15
i: 15
a: 16
i: 16
a: 17
i: 17
a: 18
i: 18
a: 19
i: 19
a: 20

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas no meu mostra esse erro.

Citar

Parse error: syntax error, unexpected ')' in C:\wamp\www\prog8.php on line 2

Onde estou errando se estou.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
17 horas atrás, TeixeiraRamos disse:

Não tenho resultado satisfatório.

Só que aqui não mostra esse resultado:


<?php 
	for( $i=0, $k=10 ; $i<10 ; $i++, $k- )
	{
		echo "\$i vale $i e \$k vale $k";
		if ($i==$k)
			{ echo " (os valores são iguais!)"; }
	    echo "<br>";
	}
?>

 

 

@TeixeiraRamos

Na linha 2, está faltando uma das condições. Você define as variáveis $i=0 e $k=10; e só testa a condição $i<10, cadê a condição de $k? Outro ponto importante a observar são as condições que você irá impor. Elas devem ser coerentes, ou seja, os valores iniciais, devem ficar dentro das condições. Fiz um exemplo teste apenas alterando seus valores e corrigindo a falta da condição.

 

for($i=0,$k=200; $i<10,$k>10; $i++,$k--) {
    echo "\$i vale $i e \$k vale $k<br>".PHP_EOL;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado a vocês.

Para conseguir o mesmo resultado do prog8.php, inseri a condição de $k que estava faltando.

Ficou assim:

<?php 
	for($i=0,$k=10; $i<10,$k>0; $i++,$k--)
	{
		echo "\$i vale $i e \$k vale $k";
		if ($i==$k)
			{ echo " (os valores são iguais!)"; }
	    echo "<br>";
	}
?>

Por favor, washalbano e Rasp  vocês não acham que para se aprender PHP não deveria se ter um programas com os operadores  corretamente indicados? 

Originalmente no programa a variável $k está assim $- e não $- -. Não existe a variável $>0. Como já informei na linha 2 apresenta o programa assim:

for($i=0,$k=10; $i<10, $i++,$k-)

Estou preocupado com o que vem por ai. São 315 páginas estou na 79.

Não tem como acreditar que programas criados dessa forma venha contribuir para um iniciante aprender PHP, ou melhor, "Estrutura de controle em PHP", mas vou continuar.

 

Sem as orientações de vocês talvez não iria ENTENDER que é o principal.  

Obrigado Saúde, Paz e Sucesso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deve ter sido apenas um erro de digitação, não foi nada!
não tem a relevância que você está nutrindo.
Continue nos estudos e vai perceber que não foi nada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Washalbano,

Deus queira.

Minha preocupação é que já foram dois que não tiveram resultados satisfatórios devido a falta de variáveis.

Mas vou continuar estudando.

Muito obrigado mesmo pelo incentivo.

Não esquecerei!

 

O resultado foi esse:

Citar

$i vale 0 e $k vale 10
$i vale 1 e $k vale 9
$i vale 2 e $k vale 8
$i vale 3 e $k vale 7
$i vale 4 e $k vale 6
$i vale 5 e $k vale 5 (os valores são iguais!)
$i vale 6 e $k vale 4
$i vale 7 e $k vale 3
$i vale 8 e $k vale 2
$i vale 9 e $k vale 1

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@TeixeiraRamos é exatamente o que o @washalbano disse, algum erro de digitação, isso acontece! Aconselho, se for possível notificar estes problemas para correção. Mas o importante é caso surja dúvidas, você faça o que fez, procure ajuda para entender o que houve de errado e assim você irá ganhar experiência e familiaridade com a linguagem.

  • Gostei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rasp,

Citar

"Aconselho, se for possível notificar estes problemas para correção. ..."

Sim, concordo, informei o autor.

 

Muito obrigado.

Saúde e Paz!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Leo_Lôbo
      No Css:
      .nwwClass { border: 1px solid white; background-color: black; color: white; padding: 3px; } No html:
      <table id="tablee"> <tr><th class="tdss">operadores</th><th class="tdss">significados</th></tr> <tr><td class="tdss">+</td><td class="tdss">adição</td></tr> <tr><td class="tdss">-</td><td class="tdss">subtração</td></tr> <tr><td class="tdss">*</td><td class="tdss">mutiplicação</td></tr> <tr><td class="tdss">/</td><td class="tdss">divisão</td></tr> <tr><td class="tdss">%</td><td class="tdss">módulo</td></tr> <tr><td class="tdss">++</td><td class="tdss">incremento</td></tr> <tr><td class="tdss">--</td><td class="tdss">decremento</td></tr> <tr><td class="tdss">>=</td><td class="tdss">menor ou igual</td></tr> <tr><td class="tdss"><=</td><td class="tdss">maior ou igual</td></tr> <tr><td class="tdss">!=</td><td class="tdss">diferente</td></tr> </table>   No javaScript que é o proplema tá ai:::  function adiciono(){      tdss[x].classList.add('nwwClass'); }      var tdss = document.getElementsByClassName('tdss');      var x = 0;      for(;x < tdss.length; x+=2){        if(tdss[x].className != "tdss nwwClass"){           setInterval(adiciono,2000) } } // minha ideia é adicionar o estilo css um por cada vez em x periodo de tempo, um por um nas TD so para uma simples animação e melhorar o conheçimento mesmo abraços;
    • Por Leo_Lôbo
      <style>      .nnClass {      background-color: black;      color: white; } </style>   <div class="f_d">33</div> <div class="f_d">24</div> <div class="f_d">49</div> <div class="f_d">55</div> <div class="f_d">66</div> <div class="f_d">62</div> <div class="f_d">53</div> <div class="f_d">60</div>   <script> var classs = document.getElementsByClassName('f_d'); var x = 0; for(;x<classs.length;x++){      classs[x].addEventListener('mouseover', function(){           classs[x].className += "nnClass";      }); } </script>
    • Por Rodrigo Ferreira Santos
      Salve senhores, estou precisando da ajuda dos mestre eu preciso fazer  um while onde tenho uma lista de 10000 email e com isso preciso que ele envie 20 pare por 2 segundo envie mais 20 e assim por diante ja pesquisei em tudo e nao achei nada, ja testei com sleep mas ele nao conta quanto envios foram feito e pela velocidade da rede pode sair bem mais que 20 !!
      Alguem pode me dar um sugestao, vou pegar os email de um arquivo texto !!!
       
       
    • Por Boca
      Pessoal, bom dia
      Tenho o seguinte array que puxo do banco de dados, para puxar serviços, estou precisando agrupar os serviços para que sejam exibidos da seguinte forma.
       
      Navio Hotel Alimentação Seguro Ou seja preciso agrupar os serviços com o mesmo ID, não posso colocar no banco um simples group by pois irei fazer um sub select com os produtos de cada serviço contratado
       
      Array ( [0] => stdClass Object ( [servico_id] => 10 [produto_id] => 19 [servico_nome] => Navio ) [1] => stdClass Object ( [servico_id] => 7 [produto_id] => 18 [servico_nome] => Hotel ) [2] => stdClass Object ( [servico_id] => 12 [produto_id] => 20 [servico_nome] => Alimentação ) [3] => stdClass Object ( [servico_id] => 9 [produto_id] => 11 [servico_nome] => Seguro ) [4] => stdClass Object ( [servico_id] => 10 [produto_id] => 13 [servico_nome] => Navio ) [5] => stdClass Object ( [servico_id] => 9 [produto_id] => 10 [servico_nome] => Seguro ) [6] => stdClass Object ( [servico_id] => 9 [produto_id] => 10 [servico_nome] => Seguro ) )  
    • Por fernandomartinspc
      <?php $time1 = "Grêmio"; $time2 = "Palmeiras"; $time3 = "Flamengo"; $time4 = "São Paulo"; $time5 = "Corinthians"; $time6 = "Santos"; $time7 = "Cruzeiro"; $time8 = "Internacional"; $time9 = "Vasco"; $time10 = "Atlético-MG"; $time11 = "Botafogo"; $time12 = "Fluminense"; $placar1 = rand(0,5); $placar2 = rand(0,5); $grupo=array("$time1","$time2","$time3","$time4","$time5","$time6","$time7","$time8","$time9","$time10","$time11","$time12"); $times=count($grupo); for ($i=0; $i<$times;$i++) {       $jogo=$grupo[$i];       $jogos=$times - 1;       for ($x=0; $x<$jogos; $x++)       {           $adversario=$grupo[$x];           if ($jogo != $adversario)           {             echo $jogo." $placar1 x $placar2 ".$adversario."<br />";           }       }       echo "<br />"; } ?> Galera, esse script em PHP gera uma tabela de jogos com 12 times, sendo que todos jogam contra todos, só que estou com um probleminha, usei duas variáveis para gerar um número aleatório, as quais servirão para eu colocar no placar dos jogos, só que está dando o placar repetido para todos os jogos, como segue em anexo na foto.

×

Informação importante

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