Jump to content
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- )

 

 

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

 

Share this post


Link to post
Share on other 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;
}

 

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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

 

 

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Diego-SLP
      Boa tarde,
       
      Preciso atualizar um registro o qual já possui um valor na coluna QUANTIDADE, agora atualizarei a coluna VALOR UNITARIO e gostaria que fosse feita a multiplicação QUANTIDADE * VALOR UNITARIO.
       
      Como consigo fazer essa consulta do ID, pegar a QUANTIDADE e multiplicar pelo VALOR UNITARIO de cada linha ? vou atualizar lotes, e nao só um registro.
       
      Imagino que com o FOR, mas não consigo montar sua estrutura de repetição.
    • By Yuji Tako
      Meu professor passou uma lista de exercício para a turma e no meio disso tinha uma questão
      cujo o enunciado é o seguinte:
      eu pensei nas formas de conseguir fazer esse programa e pensei nessa forma
      valor = parseInt(prompt('Valor')); valorsafe = valor; while(valor != 1){ if(valor >= 100){ cem = valor / 100; valor -= (cem * 100); }else if(valor >= 50 && valor <=100){ cinquenta = valor/50; valor -= (cinquenta * 50); }else if(valor >= 10 && valor <= 50){ dez = valor/10; valor -= (dez * 10); }else if(valor >= 5 && valor <=10){ cinco = valor/5; valor -= (cinco * 5); }else if(valor < 5){ um = valor; valor = 1; } } document.write( valorsafe.toFixed(0) + '<br>' + 'cem: ' + cem.toFixed(0) + '<br>' + 'cinquenta: ' + cinquenta.toFixed(0) + '<br>' + 'dez: ' + dez.toFixed(0) + '<br>' + 'cinco: ' + cinco.toFixed(0) + '<br>' + 'um: ' + um.toFixed(0) + '<br>' ); so que ao rodar ele no mozila eu encontro o seguinte erro

      a linha 34 no caso é dentro do "document.write()".
      eu imagino que o navegador nao esta nem executando o meu "while" e por isso nao consegue atribuir um valor em "cinquenta", e por esse motivo buga.
    • By Bombardi
      Olá pessoal, todos bem? espero que sim ... 
       
      Sou iniciante em JavaScript, e estou me preparando para iniciar um curso de Desenvolvimento Web Full Stack. 
       
      Acabei me daparando com algumas dificuldades com funções com o laço FOR, a minha dúvida foi em dois exercicios. Espero que possa contar com a ajuda de vocês na solução dos exercicios, e se possivel, até mesmo apontar onde eu estou errando, para que eu posso melhorar nesses pontos.
       
      Segue o primeiro Exercicio
       
       
      Segue o segundo exercicio: 

       
      Me desculpem qualquer coisa, e desde já, obrigado pela ajuda de todos! 
       
    • By joao.felipe
      AMIGOS, ESTOU TENTANDO APRENDER A LINGUAGEM, O CODIGO É SIMPLES. TENHO UM CHECKBOX e QUERO Verificar se ele se encontra Marcado. ESTOU USANDO O FOR E QUERO QUE O RESULTADO SEJA EXIBIDO EM UM ALERTA DIZENDO CHECK MARCADO OU CHECK DESMARCADO. SEGUE O CÓDIGO. NAO SEI ONDE COLOCAR O ELSE.
      <!DOCTYPE HTML> <html> <body> <script> <!-- ******************************************************************* --> function obterMarcados() { alert( 'Estamos dentro da função obter Marcados!' ); var listaMarcados = document.getElementsByName("checkbox1"); if (checkBox1.checked == true) { for (loop = 0; loop < listaMarcados.length; loop++) { var item = listaMarcados[loop]; if (item.type == "checkbox" && item.checked) { alert(item.value); alert(listaMarcados.length); } } } else alert("Nao existe CheckBox Marcado"); } <!-- else alert( 'Não existe CheckBoxMarcado!' ) ; --> <!-- ******************************************************************* --> alert( 'Hello, world 1!' ); </script> <p>...After the script.</p> <form> <input type="button" NAME="submit" value="Verificar Marcados" onclick="obterMarcados()"> <input type="checkbox" name="checkbox1" value="Autocad"> Autocad <br> </form> </body> </html>  
    • By camisbales
      Olá,
      preciso resolver o seguinte exercício:
      Uma professora de programação, cansada de que os estudantes cheguem tarde, decidiu que vai cancelar a aula se há poucos presentes.
      Ela representa a entrada dos estudantes como um array de tempos de chegada tarde, em minutos. Por exemplo, se um estudante chegou 10 minutos atrasado, outro 5 minutos antes da hora, outro com 3 minutos de atraso, e outro pontual, poderá representar assim:
      var alunosDaSegunda = [10, -5, 3, 0];
      Com essa informação e a quantidade mínima de estudantes para que suceda o curso, a professora quer saber se a aula acontecerá. Por exemplo, supondo que a quantidade mínima de estudantes para que a aula aconteça é de 2 alunos, então o curso da segunda-feira se realizará, porque houve um estudante que foi pontual e um estudante que chegou cedo.
       acontece(alunosDaSegunda, 2)
      true
      Mas se a quantidade mínima fosse 3, a aula não aconteceria:
       acontece(alunosDaSegunda, 3)
      false
      Escreva as seguintes funções: 1. acontece, que diz se a aula sucederá de acordo com o array dos estudantes que entraram. 2. aberturas, que utiliza um array com os arrays dos estudantes que entraram nos outros dias, e a quantidade mínima de estudantes, e diga quais os dias em que as aulas aconteceram e quais não. Por exemplo:
      aberturas([alunosDaSegunda, alunosDaTerça, alunosDaQuarta], 2)
      [true, false, false]
      A seguir o código que eu escrevi e os erros apresentados:
      function acontece (alunosDia, quorum){
          let resultado = [];
          for (let i = 0; i < alunosDia.length; i++){
          if (alunosDia <= 0){
          resultado.push (alunosDia);}
          if (resultado.length >= quorum) {
          return true;}
          }
      }
          
      function aberturas (alunosDia, quorum){
          let resultadoArray = [];
          for (let i = 0; i < alunosDia.length; i++){
          resultadoArray.push(acontece(alunosDia, quorum));
          }
      }
      ERROS
      acontece([10, -5, 3, 0], 4) - deveria retornar false;
       acontece([10, -5, 3, 0], 3 - deveria retornar false;
       aberturas([[0, 0, 3, 0], [1, 2, 4, 5], [0, 0, -1]], 3) - undefined deepEqual [ true, false, true ];
       aberturas([[0, 0, -3, 0], [1, 2, 4, 5], [0, 0, -1]], 4) - undefined deepEqual [ true, false, false ].
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.