Ir para conteúdo

Arquivado

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

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.

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

  • Conteúdo Similar

    • Por marsolim
      Olá a todos. Venho com um probleminha para o qual não encontrei resposta. Talvez, eu não tenha sabido os termos certos para pesquisar. É o seguinte... estou tentando incluir, em uma lista array, índices com valores montados em uma variável a partir de outra array e não estou a conseguir. Atualmente, meu código é o seguinte...
      var ids = {     "joby": "track 01",     "dobby": "track 02",     "medz": "track 03",     "decks": "track 04,     "tecks": "track 05",     "assud": "track 06",     "mand": "track 07",     "daly": "track 08", }; var lstIds = []; for(i in ids){         lstIds[i] =  {         dock: ids[i],         adb: 0,         mdc: 0,         bah: 0,         tek: 0,         dep: 0,         tos: 0     }; }  
      Até aqui ok. É o que tenho no momento. O que estou querendo fazer é colocar, no lugar das linhas de adb: 0 até dep: 0, outra array que criei com esses índices, porque pode ser que eu precise adicionar mais valores e eu quero fazer isso na array nova porque vou usar ela em vários lugares e eu teria que alterar em todos se não fizer essa modificação. Fazendo ela, eu alteraria apenas nela mesmo. Então, agora, com a array nova, seria algo assim:
      var ids = {     "joby": "track 01",     "dobby": "track 01",     "medz": "track 01",     "decks": "track 01",     "tecks": "track 01",     "assud": "track 01",     "mand": "track 01",     "daly": "track 01", }; var juds = ["adb", "mdc", "bah", "tek", "dep"]; //lista nova com os valores var lstIds = []; for(i in ids){         lstIds[i] =  {         dock: ids[i],         adb: 0,         mdc: 0,         bah: 0,         tek: 0,         dep: 0,         tos: 0     }; }  
      O que eu preciso é incluir os valores de juds em lstIds. Da forma que está, não consigo fazer um for dentro do outro for para pegar esses dados e não consigo, também, criar ele fora e inserir com variável, tipo:
      var fJuds = ""; for(i in juds){     fJuds += juds[i] + ": 0,"; } for(i in ids){         lstIds[i] =  {         dock: ids[i],         fJuds // Aqui eu incluiria a variável no lugar das linhas...         tos: 0     }; }  
      Bem, o que eu queria saber mesmo é como eu poderia inserir uma variável no meio duma lista desse tipo... se é possível.
       
      Agradeço pela atenção...
    • Por marcossantana10
      Faço uma consulta no banco para buscar uma lista de horários, depois preciso comparar esse resultado com um array só de horários que eu possuo. Utilizei o código abaixo pra isso:
       
      //dados do array $h_indisponiveis separados por _ (ilustrativo) 13:20:00_13:40:00_14:00:00_14:20:00_18:40:00_19:00:00_21:20:00 $sql = "MINHA CONSULTA"; $sql=$pdo->query($sql); if ($sql->rowCount() > 0) { $result = array('error'=>false, 'data' => array()); foreach ($sql as $row) { $horario['id'] = $row['id']; $horario['hora'] = $row['hora']; $horario['tempo'] = $row['tempo']; for($i=0; $i<$sizeArray; $i++){ if ($h_indisponiveis[$i] == $row['hora']){ $horario['disponivel'] = 'n'; } else { $horario['disponivel'] = 's'; } } array_push($result['data'], $horario); } echo json_encode($result); }  
      O problema é que ele não está retornando todas as correspondências entre o objeto da consulta e o array, apenas a última. Ao invés de marcar 6 resultados como "disponivel = n", ele só marca um. Como posso corrigir
       

    • Por 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.
    • Por 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.
    • Por 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! 
       
×

Informação importante

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