gersonab Posted September 13, 2011 Report Share Posted September 13, 2011 Qual a melhor forma de se compara uma string ?tenho 5 valores , quero descartar o menor e somar os 4 maiores, para fazer uma média .Tipo:$valor1 = $row_notas['bim_bim1']; $valor2 = $vendas['bim_bim2']; $valor3 = $vendas['bim_bim3']; $valor4 = $vendas['bim_bim4']; $valor5 = $vendas['bim_bim5']; $bim1 = $valor1; $bim2 = $valor1 + $valor2; $bim3 = $valor1 + $valor2 + $valor3; $bim4 = $valor1 + $valor2 + $valor3 + $valor4; $media1 = $bim1; $media2 = $bim2 / 2; $media3 = $bim3 / 3; $media4 = $bim4 / 4;Desde já agradeço. Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted September 13, 2011 Report Share Posted September 13, 2011 Eu colocaria tudo em um array e ordenaria pelo menor valor, ai saberia que os itens de 1 a 4 seriam somados e que o item 0 seria o menor. Quote Link to comment Share on other sites More sharing options...
0 gersonab Posted September 13, 2011 Author Report Share Posted September 13, 2011 Quase perfeito ....esta assim :$valor1 = $row_notas['bim_bim1']; $valor2 = $row_notas['bim_bim2']; $valor3 = $row_notas['bim_bim3']; $valor4 = $row_notas['bim_bim4']; $valor5 = $row_notas['bim_bim5']; $bim1 = $valor1; $bim2 = $valor1 + $valor2; $bim3 = $valor1 + $valor2 + $valor3; $bim4 = $valor1 + $valor2 + $valor3 + $valor4; $bim5 = array($valor1,$valor2,$valor3,$valor4,$valor5); sort($bim5); // ordena em ordem crescente array_shift($bim5); // elimina o primeiro "menor" $med5 = array_sum($bim5); // soma os valores do array $media1 = $bim1; $media2 = $bim2 / 2; $media3 = $bim3 / 3; $media4 = $bim4 / 4; $media5 = $med5 / 4;Só que , se eu tenho 10 itens para mostrar em uma lista , me mostra só 4, preciso que me mostre os 10 com seus respectivos valores .... tipo :item --- valor 1 ---- valor 2 ---- valor 3 ---- valor 4 ---- valor 5 ----- media- 01 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55- 02 ----- 60 --------- 60 --------- 60 --------- 60 --------- 00 --------- 60- 03 ----- 70 --------- 60 --------- 30 --------- 50 --------- 60 --------- 55- 04 ----- 70 --------- 50 --------- 40 --------- 50 --------- 60 --------- 55- 05 ----- 50 --------- 60 --------- 70 --------- 60 --------- 00 --------- 60- 06 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55- 07 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55- 08 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55- 09 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55- 10 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55esta mostrando assim ...item --- valor 1 ---- valor 2 ---- valor 3 ---- valor 4 ---- valor 5 ----- media- 05 ----- 50 --------- 60 --------- 70 --------- 60 --------- 00 --------- 60- 02 ----- 60 --------- 60 --------- 60 --------- 60 --------- 00 --------- 60- 01 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55- 03 ----- 70 --------- 60 --------- 30 --------- 50 --------- 60 --------- 55Isto é, tudo que é array , ele esta mostrando só os 4 melhores .... Quote Link to comment Share on other sites More sharing options...
0 gersonab Posted September 13, 2011 Author Report Share Posted September 13, 2011 Pois é ... ta um pouco complicado aqui ... vou tentar ser mais claro ...Os valores vem do BD .A lista é criada através de um loop .O que eu preciso é que :1) pegar o item 1 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ...2) pegar o item 2 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ...3) pegar o item 3 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ...4) pegar o item 4 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ...5) pegar o item 5 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois .......11) pegar o item 11 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ...Não tem quantidade exata de itens ...Agora, com certeza vou precisar criar esta função , começar por onde ?if ? case ? foreach ? Quote Link to comment Share on other sites More sharing options...
0 rickayron Posted September 13, 2011 Report Share Posted September 13, 2011 Pois é ... ta um pouco complicado aqui ... vou tentar ser mais claro ...Os valores vem do BD .A lista é criada através de um loop .O que eu preciso é que :1) pegar o item 1 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ...2) pegar o item 2 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ...3) pegar o item 3 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ...4) pegar o item 4 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ...5) pegar o item 5 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois .......11) pegar o item 11 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ...Não tem quantidade exata de itens ...Agora, com certeza vou precisar criar esta função , começar por onde ?if ? case ? foreach ?olá tudo bem, tente algo mais ou menos assim<?php $Array=array( 'Luciano'=>array(10,8,5,9,5), 'Ricardo'=>array(9,7,8,3,8), 'Valéria'=>array(6,9,10,8,4), 'Adriano'=>array(7,4,8,10,10), 'Mariana'=>array(10,09,1,0,10), 'Marlene'=>array(9,8,4,10,10), 'Gislene'=>array(8,6,10,9,7), 'Ketlein'=>array(7,10,8,5,8), 'Robison'=>array(6,9,10,7,4), 'Ronaldo'=>array(10,8,6,5,10) ); $Tabela="<table style='background-color:#008000;'><tr align='center' style='background-color:#004000; color:#FFFFFF; font:bold 16 arial;'> <Td>Alunos</td><td colspan='4'>Notas</td><Td>Média total</td> </tr> "; $i=0; foreach($Array as $Nome=>$Aluno) { ( ($i%2)<0 ) ? ( $cor='#FFFFC0' ) : ( $cor='#D0D0D0' ); sort($Aluno); $Tabela.="<tr bgcolor='$cor'><Td>$Nome</td>"; $Nota=0; for($i=1; $i<count($Aluno); $i++) { $Tabela.="<td>$Aluno[$i]</td>"; $Nota+=$Aluno[$i]; } $Tabela.="<td>$Nota</td></tr>"; $i++; } echo $Tabela; ?>qualquer duvida é so postar até mais. Quote Link to comment Share on other sites More sharing options...
0 gersonab Posted September 14, 2011 Author Report Share Posted September 14, 2011 Havia um erro na minha tabela, a primeira situação funcionou perfeitamente.Vlw Quote Link to comment Share on other sites More sharing options...
Question
gersonab
Qual a melhor forma de se compara uma string ?
tenho 5 valores , quero descartar o menor e somar os 4 maiores, para fazer uma média .
Tipo:
Desde já agradeço.
Link to comment
Share on other sites
5 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.