Ir para conteúdo

POWERED BY:

Arquivado

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

willwalker

[Resolvido] Fazer contagem dentro de um While, é possivel ?

Recommended Posts

Tenho o seguinte código:

 

<?php

$i = 0;

while ($i <= $total) {

$i++;

$op{$i} = $_POST["grupo_{$i}"];

$resp_{$i} = $_POST["resp_{$i}"];

$pgt_{$i} = $_POST["pgt_{$i}"];

if($op{$i}[0] == $resp_{$i}[0]){

}else{

echo "".$pgt_{$i}[0]."<br>";

}

}

?>

 

Mas não estou conseguindo fazer a contagem direito... Usei o count, mas ele retorna 11110...

No if ele diz assim: Se $op{$i}[0] for igual a $resp_{$i}[0]{ mostra os iguais }else{ mostra os que não são iguais}

 

Se coloco echo count($op{$i}[0]); ele me mostra 11110 (Esse zero que retorna no final, não sei resolver tambem, ele retorna sempre no final um vazio O.o, é assim mesmo que acontece ?)...

 

Alguem pode me ajudar a resolver esse count ?

 

Sei que está acontecendo isso de mostrar 1110 porque é um loop que estou dando, mas tem como então somar os valores ? Já que aparecem 11110 fazer uma soma disso ? 1+1+1+0 E imprimir o resultado ? 1+1+1+1+0 = 4... Só preciso disso T.T

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou explicar melhor:

 

<?php

$i = 0;

while ($i < $total) {

$i++;

$op{$i} = $_POST["grupo_{$i}"];

$resp_{$i} = $_POST["resp_{$i}"];

$pgt_{$i} = $_POST["pgt_{$i}"];

if($op{$i}[0] == $resp_{$i}[0]){

echo count($op{$i}[0]);

}else{

echo "".$pgt_{$i}[0]."<br>";

}

}

?>

 

A impressão fica assim depois que dou o submit no form:

 

111 <- Isso é impresso por causa dessa tag echo count($op{$i}[0]);

 

Eu queria alguma solução para pegar o 111 somar e mostrar o resultado 3 impresso tambem...

 

Se alguem tiver uma ideia de como ajudar fico muito grato... Talvez uma de suas ideias me dê uma luz e eu consiga resolver isso ^^...

 

Abraços Walker http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vocês ainda não me entenderam, eu preciso pegar as arrays iguais para fazer essa contagem, se eu coloco o $i ele me dá o valor total de todas as arrays, mas não é isso que eu quero... Quero só a soma das arrays iguais...

 

Por isso o if:

 

if($op{$i}[0] == $resp_{$i}[0]){

echo count($op{$i}[0]);

}else{

echo "".$pgt_{$i}[0]."<br>";

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi direito mas vou chutar:

 

tente usar array_sum ao invés de count, pq count é para contar o número de elementos de um array, e sum é para somar os elementos de um array.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu entendi bem, você quer saber quantas vezes o loop entra no if certo?!?

se for tenta assim:

<?php

$total = 3;

$i = 0;

$j = 0;

while ($i < $total) {

$i++;

$op{$i} = $_POST["grupo_{$i}"];

$resp_{$i} = $_POST["resp_{$i}"];

$pgt_{$i} = $_POST["pgt_{$i}"];

if($op{$i}[0] == $resp_{$i}[0]){

$j++;

echo "j-> ".$j;

//echo count($op{$i}[0]);

}else{

echo "ha".$pgt_{$i}[0]."<br>";

}

}

?>

 

no caso a variável $j vai imprimir 3 pois o loop passa 3 vezes dentro do if...

espero ter te ajudado

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal, fez a tal contagem, mas tem um problema, eu só quero o ultimo valor...

 

Apareceu assim:

 

1

2

3

4

 

Quero pegar somente o ultimo resultado... Que seria o 4...

Compartilhar este post


Link para o post
Compartilhar em outros sites

é só da um echo $j depois de fechar o while

 

<?php

$total = 3;

$i = 0;

$j = 0;

while ($i < $total) {

$i++;

$op{$i} = $_POST["grupo_{$i}"];

$resp_{$i} = $_POST["resp_{$i}"];

$pgt_{$i} = $_POST["pgt_{$i}"];

if($op{$i}[0] == $resp_{$i}[0]){

$j++;

//echo "j-> ".$j;

//echo count($op{$i}[0]);

}else{

echo $pgt_{$i}[0]."<br>";

}

}

echo $j

?>

 

 

Legal, fez a tal contagem, mas tem um problema, eu só quero o ultimo valor...

 

Apareceu assim:

 

1

2

3

4

 

Quero pegar somente o ultimo resultado... Que seria o 4...

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.